我们正在使用System.Drawing在一个Web应用程序中处理图像(旋转、翻转等)。在过去的一个月中,我们偶尔会遇到以下错误:
“尝试读取或写入受保护的内存。这通常是其他内存已损坏的迹象。”
根据MSDN Library的说明,似乎我们不应该在Web应用程序中使用System.Drawing(请参见下面的插入部分)。
System.Drawing.Imaging命名空间中的类不支持在Windows或ASP.NET服务中使用。尝试从其中一个应用程序类型中使用这些类可能会产生意外问题,例如降低服务性能和运行时异常。
这似乎不太对,因为在ASP.Net上有一个专门的论坛,可以在ASP.Net应用程序中使用System.Drawing。此外,我找到的所有Web图像编辑器控件都使用Sytem.Drawing,所以我认为这实际上不是System.Drawing的问题。所以我的问题是:
1)在ASP.Net应用程序中使用System.Drawing时,是否有其他人遇到过此问题?如果是,修复方法是什么?
2)引发错误的代码行如下,问题可能是我们使用了MemoryStream而不是System.Drawing的问题吗?使用其他类型的流是否可以解决问题?
“尝试读取或写入受保护的内存。这通常是其他内存已损坏的迹象。”
根据MSDN Library的说明,似乎我们不应该在Web应用程序中使用System.Drawing(请参见下面的插入部分)。
System.Drawing.Imaging命名空间中的类不支持在Windows或ASP.NET服务中使用。尝试从其中一个应用程序类型中使用这些类可能会产生意外问题,例如降低服务性能和运行时异常。
这似乎不太对,因为在ASP.Net上有一个专门的论坛,可以在ASP.Net应用程序中使用System.Drawing。此外,我找到的所有Web图像编辑器控件都使用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,那么在网站上操作图像的其他替代方案是什么。
随着时间的推移,这个问题变得越来越紧迫,所以我能找到解决方案越快越好。任何帮助都将不胜感激。