代码之家  ›  专栏  ›  技术社区  ›  Chris

ie 6与分块编码问题

  •  0
  • Chris  · 技术社区  · 15 年前

    我遇到了这里记录的问题:

    http://support.microsoft.com/kb/914453

    您可以访问Web应用程序或Web 来自使用 上的分块传输编码 基于Microsoft Windows Server 2003或 基于Microsoft Windows XP的 电脑。然后,浏览器或网络 应用程序停止响应。

    当 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级别的分块编码,但我不希望这样做。我的问题是,我的代码中是否有错误或者我没有做的事情会阻止浏览器接收不完整的块?

    1 回复  |  直到 15 年前
        1
  •  0
  •   matt-dot-net    15 年前

    你的代码很好。这些文件有多大?如何使用内容配置:附件?还有,什么内容类型?