我的服务器上运行的ASP.NET应用程序在运行几天后开始抛出GDI+异常。重启服务器后,一切正常工作几天,然后突然再次发生此异常。在第一次发生后,每次尝试保存PNG图像时都会发生,直到我再次重新启动。
当我尝试将图像保存为JPEG时,它可以正常工作。
当我从我的项目中运行此代码时,它失败了:
当我尝试将图像保存为JPEG时,它可以正常工作。
当我从我的项目中运行此代码时,它失败了:
var path = @"C:\Project\images\logo.png";
var image = Image.FromFile(path);
using (var ms = new MemoryStream())
{
image.Save(ms, ImageFormat.Png); // Fails here on GDI+ exception.
//image.Save(ms, ImageFormat.Jpeg); // JPEG works somehow
}
再次说明:当我重新启动远程桌面并运行此代码时,它能正常工作几天,但在某个时刻突然开始反复失败。
我尝试过:
使用相同的代码制作控制台应用程序,并在项目所在的RDP中运行它。它可以正常工作!
尝试了超过10篇文章中提到的很多不同变体的代码,但都无济于事。
GCI.Collect()——无效。
检查所有具有写入权限的文件夹(也许是IIS的问题?)。
更多尝试。
我认为这应该是由于某些原因而突然更改了某些配置,但我无法理解可能是什么原因导致的。
File.ReadAllBytes()
就足够了。 - Ňɏssa Pøngjǣrdenlarp