我们正在使用 System.Drawing 和应用程序来操作 Web 应用程序中的图像(旋转、翻转等)。在上个月,我们偶尔会收到以下错误。
“试图读取或写入受保护的内存。这通常表明其他内存已损坏。”
根据 MSDN 库,我们似乎不应该在我们的 Web 应用程序中使用 System.Drawing(请参阅下面的插入)。
不支持在 Windows 或 ASP.NET 服务中使用 System.Drawing.Imaging 命名空间中的类。尝试从这些应用程序类型之一中使用这些类可能会产生意想不到的问题,例如服务性能下降和运行时异常。
这似乎不正确,因为在 ASP.Net 上有一个完整的论坛用于在 ASP.Net 应用程序中使用 System.Drawing。另外,我发现的所有网络图像编辑器控件都使用 Sytem.Drawing,所以这是我认为 System.Drawing 不是真正问题的另一个原因。所以我的问题是:
1) 在 ASP.Net 应用程序中使用 System.Drawing 时是否有其他人有此问题?如果是这样,解决方法是什么。
2) 引发错误的行在下面,问题可能是我们使用的是 MemoryStream 而不是 System.Drawing 的真正问题吗?使用不同类型的流会解决这个问题。
using (System.Drawing.Image oFullImg = System.Drawing.Image.FromStream(msImage))
3) 如果确实存在问题并且我们不应该使用 System.Drawing,那么还有哪些其他替代方法可用于处理网站上的图像。
随着时间的推移,这正成为一个更关键的问题,所以我越快找到解决方案就越好。任何帮助将不胜感激。