我正在将一系列网站从现有的 IIS5 服务器迁移到全新的 IIS7 Web 服务器。其中一个页面从数据库中的 blob 中提取数据文件并将其提供给最终用户:
Response.ContentType = rs("contentType")
Response.AddHeader "Content-Disposition", "attachment;filename=" & Trim(rs("docName"))&rs("suffix")' let the browser know the file name
Response.AddHeader "Content-Length", cstr(rs("docsize"))' let the browser know the file size
在新的 IIS7 安装中对此进行测试,我在 Internet Explorer 和 Firefox 中都收到“连接重置”错误。如果删除 Content-Length 标头,则文档将正确提供(但用户不会获得有用的进度条)。
有关如何纠正此问题的任何想法;无论是服务器配置选项还是通过代码?
编辑1:做了更多的试验和错误。如果“启用缓冲”和“启用分块编码”都为 false,则请求将成功。如果启用任何一个,则会发生错误。
编辑 2:更多的试错测试;事实证明,文本文件可以很好地与脚本配合使用;只有二进制文件(图像、pdf 等)会失败。否则仍然完全一无所知。