Vb.net IISExpress乱码HTTP 500错误消息

Vb.net IISExpress乱码HTTP 500错误消息,vb.net,visual-studio-2010,iis-express,Vb.net,Visual Studio 2010,Iis Express,我正在IISExpress上运行Visual Studio 2010之外的项目,每当抛出500错误时,它都会将垃圾发送回浏览器,而不是包含异常详细信息的格式正确的服务器错误消息。一封包含异常详细信息的电子邮件发送给我,这会正确返回所有内容,只有当它点击浏览器时,我才会收到垃圾。让你明白我所说的垃圾是什么意思,这就是我得到的 我不知道为什么它会返回给我,而不是我想用堆栈跟踪来考虑一个“正常”异常消息。我的项目中的自定义错误被关闭,正如我所说的,我在我设置的电子邮件发件人中从应用程序中获得了适当的

我正在IISExpress上运行Visual Studio 2010之外的项目,每当抛出500错误时,它都会将垃圾发送回浏览器,而不是包含异常详细信息的格式正确的服务器错误消息。一封包含异常详细信息的电子邮件发送给我,这会正确返回所有内容,只有当它点击浏览器时,我才会收到垃圾。让你明白我所说的垃圾是什么意思,这就是我得到的


我不知道为什么它会返回给我,而不是我想用堆栈跟踪来考虑一个“正常”异常消息。我的项目中的自定义错误被关闭,正如我所说的,我在我设置的电子邮件发件人中从应用程序中获得了适当的异常详细信息,但我在浏览器端得到了这些信息

我最终发现,这是由于应用程序发送gzip内容时没有向浏览器指示实际上是gzip的头,所以它只是将二进制内容转储出去。我通过在我的Global.asax中添加以下内容来解决这个问题

Sub Application_Error()
    Response.Filter = Nothing
End Sub
当出现错误时,这将从响应中删除筛选器,并显示我的错误消息


这一切都归功于Rick Strahl的解决方案。这并不理想,但对我来说很有效,这就是我现在真正担心的问题。

似乎您的VS2010服务器使用的是XPA上未配置的语言编码,但我以前收到过IISExpress生成的完全有效的404消息,但是500条消息会被乱码。500条错误消息是由.NET定制的,而404是由IIS生成的。如果要获取消息,请使用断点在调试器中捕获错误。您还可以将浏览器的编码设置为UTF-8。