ASP.NET - ERR_EMPTY_RESPONSE / 连接被重置 / 页面无法显示

ASP.NET - ERR_EMPTY_RESPONSE / The connection was reset / The page cannot be displayed

当我点击 link 到由网络服务生成的 PDF 时,我收到了一条错误消息。除了我将输出路径作为参数传递之外,我不知道 Web 服务是如何构建文件的:

Dim strPDF As String = Server.MapPath("~") & "\PDFs\"
obj.callService(strPDF)

我想为用户提供可点击的 link PDF。最初,我在调用 Web 服务时收到一个错误,说 Access to the path is denied. 在谷歌搜索后,我读到要为 NETWORK USER 的文件夹添加完全控制权限。我这样做了,现在 Web 服务可以很好地创建 PDF。

当我为文件创建 link 并在浏览器中单击它时,我收到错误消息。

Chrome:

ERR_EMPTY_RESPONSE

火狐:

The connection was reset

IE:

This page can’t be displayed

谷歌搜索我在 Chrome 中遇到的错误,我得到了一百万零一个关于由于处理大文件而增加请求超时长度的建议,但我尝试创建和 none 的 PDF access 大于 175KB,大多数都在 65KB 左右。此外,我立即收到错误,这让我觉得它甚至没有尝试提供文件。

谁能帮我弄清楚我做错了什么?

编辑:同样值得注意的是,一切都在本地运行良好。当我将所有内容推送到服务器时出现错误。

EDIT2:我在同一个文件夹中添加了一个 .tif 图像文件以查看会发生什么,当我尝试在浏览器中访问该文件时,它会很好地下载该文件。它不像 PDF 那样在浏览器中显示,而是下载到我的“下载”文件夹中。这是否意味着 PDF 有问题?或者这是否意味着在浏览器中显示内容但无法下载到机器上存在问题?

天哪...所以,在 co-worker 的大量诅咒和帮助之后,我发现了问题所在。

有一个 IIS 设置导致我所有网站的 PDF 处理方式变得疯狂。

修复它(对于 IIS 6):

  • 我打开了 IIS,右键单击标题为 "Web Sites" 的文件夹并选择属性
  • 在“主目录”选项卡上,我单击了“应用程序设置”下的“配置”。
  • 在“映射”选项卡上,我在文件扩展名列表中找到了 .pdf 并单击了“删除”。

它出于某种原因将另一个网站上使用的 .NET 框架从 4.0 还原为 1.1,但是一旦我把它切换回来,一切都很好。

如果有人知道这些设置的用途并且对我的情况可能发生的情况有很好的理论,我很想听听! :)