我正在经历这里记录的问题:
http://support.microsoft.com/kb/914453
从基于Microsoft 2003或基于Microsoft的计算机上使用分组传输编码的网站服务器访问Web应用程序或网站。然后,浏览器或Web应用程序停止响应。
当Wininet.dll文件在初始Winsock数据接收操作期间接收到不完整的数据块时,就会出现此问题。当发生此行为时,第二个Winsock数据接收操作只读取一个块令牌。例如,第二个Winsock数据接收操作可能只从套接字读取回车行提要(CRLF)。然后,Wininet.dll文件连续调用Winsock选择函数30秒。该文件正在等待接收更多数据。但是,如果没有数据到达,浏览器或Web应用程序将停止响应。
这个问题发生在我为从数据库中检索文件而实现的HttpHandler上。有关守则是:
var buffer = GetSomeByteArray();
context.Response.Clear();
context.Response.ContentType = type;
context.Response.BinaryWrite(buffer);
context.Response.End();
我可以通过关闭动态压缩或简单地不将.axd指定为可压缩文件类型,从而在IIS 6级别禁用分组编码,但我不喜欢这样做。我的问题是,我的代码中是否有错误,或者我不应该这样做,从而阻止浏览器接收到一个不完整的块?
发布于 2010-07-09 18:19:32
你的代码很好。这些文件有多大?如何使用内容-处置:附件?还有,什么内容-类型?
https://stackoverflow.com/questions/3215396
复制相似问题