IISExpress乱码HTTP 500错误消息

时间:2014-05-01 12:19:42

标签: vb.net visual-studio-2010 iis-express

我在Windows XP的IISExpress上运行Visual Studio 2010项目(我知道,XP,疯了吗?),每当抛出500错误时,它会将垃圾发送回浏览器,而不是格式正确带有异常详细信息的服务器错误消息一封电子邮件通过Exception详细信息发送给我,这将正确返回所有内容,只有当它到达浏览器时我才会收到垃圾邮件。为了让你了解我对垃圾的意思,这就是我得到的。

enter image description here

好吧,好吧?我不知道为什么它会把它归还给我,而不是我认为的正常情况'堆栈跟踪的异常消息。我的项目中的自定义错误已关闭,就像我说的,我在我设置的电子邮件发件人中从应用程序中获取了正确的异常详细信息,但我在浏览器端得到了此信息。

有什么想法吗?如果您需要有关我的环境的更多信息,请在评论中提问!

1 个答案:

答案 0 :(得分:2)

我最终发现这是由于应用程序发送GZipped内容而没有向浏览器指示实际上是GZip的标头引起的,所以它只是将二进制内容转出。我通过将以下内容添加到我的Global.asax

来解决这个问题
Sub Application_Error()
    Response.Filter = Nothing
End Sub

当发生错误时,这将从响应中删除过滤器,并显示我的错误消息。

所有归功于Rick Strahl和this blog post的解决方法。它并不理想,但它对我有用,而这就是我现在真正感到困扰的一切。