Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc asp.net中的奇怪图像生成错误_Asp.net Mvc_Iis_Png - Fatal编程技术网

Asp.net mvc asp.net中的奇怪图像生成错误

Asp.net mvc asp.net中的奇怪图像生成错误,asp.net-mvc,iis,png,Asp.net Mvc,Iis,Png,我有一个ASP.NET-MVC项目,需要动态生成一些png图像。那很容易。我只是创建返回FileStreamResult对象的ActionResult。为了生成图像,我使用了System.Drawing中的类,如位图和图像。在本地机器和生产服务器上一切正常。但当生产服务器上的IIS由于不活动而关闭应用程序池并再次启动时,映像生成开始失败 尝试将图像保存到流的代码中存在问题: var imageStream = new MemoryStream(); bmp.Save(imageStrea

我有一个ASP.NET-MVC项目,需要动态生成一些png图像。那很容易。我只是创建返回FileStreamResult对象的ActionResult。为了生成图像,我使用了System.Drawing中的类,如位图和图像。在本地机器和生产服务器上一切正常。但当生产服务器上的IIS由于不活动而关闭应用程序池并再次启动时,映像生成开始失败

尝试将图像保存到流的代码中存在问题:

  var imageStream = new MemoryStream();
  bmp.Save(imageStream, ImageFormat.Png);
异常为:System.Runtime.InteropServices.ExternalException(0x80004005):GDI+中发生一般错误。所以没有什么帮助。我尝试了不同的解决方案,但毫无帮助。在我找到这个话题之后

本主题的主要思想是:

Windows或ASP.NET服务中不支持System.Drawing命名空间中的类。试图在这些应用程序类型中使用这些类可能会产生意外问题,例如服务性能降低和运行时异常

所以我决定使用WPF类来生成图像。我重写了所有图像生成代码,但现在在应用程序池重新启动后,我又遇到了另一个错误。例外情况: System.Runtime.InteropServices.COMException(0x88982F8A):来自HRESULT的异常:0x88982F8A。当我尝试将PngBitmapEncoder保存到流时会发生这种情况

var stream = new MemoryStream();
encoder.Save(stream);

可能有人遇到过这个问题或者有什么想法?

我无法回答您的问题,但是如果这只是因为您的应用程序关闭而发生,为什么不将其空闲设置为0(应用程序池->应用程序->高级选项),那么它就不会关闭


如果你找不到合适的答案,这可能是最后的选择。

这里有一个不满意的答案

当我第一次部署新的映像生成功能时,我遇到了相同的错误

我停止了相应的应用程序池,重新启动它,然后它就工作了