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

Posted

技术标签:

【中文标题】ASP.NET - ERR_EMPTY_RESPONSE / 连接已重置 / 页面无法显示【英文标题】:ASP.NET - ERR_EMPTY_RESPONSE / The connection was reset / The page cannot be displayed 【发布时间】:2016-03-12 15:08:39 【问题描述】:

当我单击指向由 Web 服务生成的 PDF 的链接时收到错误消息。除了我将输出路径作为参数传递之外,我不确切知道 Web 服务是如何构建文件的:

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

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

当我创建文件的链接并在浏览器中单击它时,我收到一个错误。

铬:

ERR_EMPTY_RESPONSE

火狐:

连接已重置

IE:

此页面无法显示

谷歌搜索我在 Chrome 中遇到的错误将我带到一百万个关于由于处理大文件而增加请求超时长度的建议,但我尝试创建和访问的所有 PDF 都不大于 175KB,而且大多数已经存在65KB。此外,我立即收到错误消息,让我认为它甚至没有尝试提供文件。

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

编辑:还值得注意的是,在本地一切正常。当我将所有内容推送到服务器时,错误就开始了。

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

【问题讨论】:

24 小时还没有 cmets?这在我之前从未发生过……要么我开始提出更难的问题,要么我的措辞很糟糕哈哈。 在主帖中添加了更多信息......希望它可能会有所帮助。 您的浏览器试图对 PDF 文件执行什么操作?下载它,用插件显示,还是别的? 它正在尝试在浏览器中显示它。 用什么?您是否安装了任何 PDF 插件? IE默认没有任何可以显示PDF的东西,所以没有插件就不可能在浏览器中显示任何东西。 【参考方案1】:

天哪……所以,在同事的大量诅咒和帮助之后,我发现了问题所在。

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

修复它(对于 IIS 6):

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

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

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

【讨论】:

PDF 创建包含一些我猜想的非托管代码,因此必须处理它,以便生成的 pdf 文件不能被服务本身使用。在更改 IIS 设置 AppPool 时重置,以便文件再次空闲。这是一个非常有效的案例。

以上是关于ASP.NET - ERR_EMPTY_RESPONSE / 连接已重置 / 页面无法显示的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core与ASP.NET区别

ASP.NET和ASP的区别是啥?

ASP.NET 生命周期 – ASP.NET 应用生命周期

ado.net和asp.net区别?

ASP.NET开发人员需要学习ASP.NET MVC么?

ASP.NET 5 改名 ASP.NET Core 1.0