C # - Вывод изображения в выходной поток ответа с ошибкой GDI +

Требуется ли временное хранилище при выводе изображения в выходной поток? Я получаю "общую ошибку GDI +", которая обычно связана с ошибкой разрешения папки при сохранении изображения в файл.

Единственное, что я делаю с изображением, - это добавляю текст. Я по-прежнему получаю сообщение об ошибке, даже когда выводлю изображение прямо без изменений. Например, это приведет к ошибке:

using (Bitmap image = new Bitmap(context.Server.MapPath("images/stars_5.png")))
{
    image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);
}

Все работает нормально на моем локальном компьютере под управлением Windows 7 с IIS 7.5 и ASP.NET 2.0. Проблема возникает на сервере QA, который работает под управлением Windows Server 2003 с IIS 6 и ASP.NET 2.0.

Строка, которая выдает ошибку:

image.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);

Вот трассировка стека:

[ExternalException (0x80004005): A generic error occurred in GDI+.]
   System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams) +378002
   System.Drawing.Image.Save(Stream stream, ImageFormat format) +36
   GetRating.ProcessRequest(HttpContext context) in d:\inetpub\wwwroot\SymInfoQA\Apps\tools\Rating\GetRating.ashx:54
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
41
задан Daniel 12 April 2011 в 01:00
поделиться