我们已经在过去几年进行得相当好一个ASHX图像处理程序,但我们注意到最近在IE8和IE9的一些奇怪的间歇行为。 我们有作为图像的src属性的一部分,这个页面是在弹出窗口中打开它调用图像处理程序多次画廊页。
但被打开,快速连续关闭时,当窗口的页面工作正常(所有的页面上的图像是否已完成加载之前),它会导致浏览器挂起,随后必须重新启动。
以下是我们的图像处理程序代码的样本,我有一个怀疑,请求图像不“结束”时,关闭窗口,浏览器和服务器之间的连接仍然在运行,并导致其崩溃。
在日志中寻找有多次尝试通过处理程序,以便它看起来像浏览器正在重试 ,因为它认为它未能完成请求,以获得相同的图像。
是否有任何变化,我可以作出的处理程序(或客户端代码),以确保浏览器在窗口关闭后不会继续请求图像,或者这是一个烤入IE的复杂性? Safari浏览器,Firefox和Chrome处理此类行为的罚款。
阿洛斯注:显示图像的页面有网格围绕更新面板 - 但我不认为这是相关的。
Response.Clear();
Response.ContentType = "image/jpeg";
System.Drawing.Image returnImage = System.Drawing.Image.FromFile(completeImageFilePath);
using (MemoryStream stream = new MemoryStream())
{
returnImage.Save(stream, ImageFormat.Jpeg);
stream.WriteTo(Response.OutputStream);
}
returnImage.Dispose();
if (Response.IsClientConnected)
{
Response.Flush();
}
Response.End();