Мы используем System.Drawing и приложение для управления изображениями в веб-приложении (поворот, отражение и т. Д.). В течение последнего месяца мы периодически получали следующую ошибку.
«Попытка чтения или записи в защищенную память. Часто это указывает на повреждение другой памяти».
На основе библиотеки MSDN кажется, что нам не следует использовать System.Drawing в нашем веб-приложении (см. Вставку ниже).
Классы в пространстве имен System.Drawing.Imaging не поддерживаются для использования в службах Windows или ASP.NET. Попытка использовать эти классы из одного из этих типов приложений может вызвать неожиданные проблемы, такие как снижение производительности службы и исключения времени выполнения.
Это просто не кажется правильным, поскольку на ASP.Net есть целый форум для использования System.Drawing в приложениях ASP.Net. Кроме того, все элементы управления веб-редактора изображений, которые я обнаружил, используют Sytem.Drawing, так что это еще одна причина, по которой я думаю, что это не проблема с System.Drawing. Итак, у меня есть следующие вопросы:
1) Есть ли у кого-нибудь еще эта проблема при использовании System.Drawing в приложении ASP.Net? Если да, то каково было исправление.
2) Строка, которая вызывает ошибку, находится ниже, может быть проблема в том, что мы используем MemoryStream, а не в System.Drawing? Решит ли проблему использование потока другого типа.
using (System.Drawing.Image oFullImg = System.Drawing.Image.FromStream(msImage))
3) Если действительно существует проблема и нам не следует использовать System.Drawing, какие еще есть альтернативы для управления изображениями на веб-сайте.
Это становится все более серьезной проблемой по мере того, как она затягивается, поэтому чем быстрее я найду решение, тем лучше. Любая помощь будет оценена по достоинству.