2014-05-01 96 views
2

我在IISExpress在Windows XP(我知道,XP,瘋了吧?),並運行一個項目,關閉Visual Studio 2010中每當拋出一個500錯誤發送垃圾回瀏覽器,而而不是正確格式化的服務器錯誤消息和異常詳細信息。一封電子郵件通過Exception細節發送給我,這將正確返回所有內容,只有當它碰到瀏覽器時我纔會收到垃圾。爲了讓你瞭解我的垃圾意味着什麼,這就是我所得到的。IISExpress亂碼HTTP 500錯誤信息

enter image description here

不錯吧?我不知道爲什麼它將這個返回給我,而不是我認爲帶有堆棧跟蹤的'正常'異常消息。我的項目中的自定義錯誤被關閉,就像我說的,我從設置的電子郵件發件人的應用程序中獲得適當的異常詳細信息,但是我在瀏覽器端獲得了這些信息。

任何想法?如果您需要更多關於我的環境的信息,請在評論中提問!

+0

好像你的VS2010服務器在XP –

+0

一種可能性沒有配置語言編碼寫的,但我已經收到了之前IISExpress產生完全有效的404點的消息,但500層的消息得到亂碼。 –

+0

500個錯誤消息是由.NET自定義的,不像由IIS生成的404。如果要通過使用斷點來獲取消息,請在調試器中捕獲錯誤。您還可以將瀏覽器的編碼設置爲UTF-8。 –

回答

2

我終於找到了,這是由應用程序發送GZip壓縮內容,而沒有指出這是實際上GZip壓縮的瀏覽器的標題引起的,所以它只是把二進制內容出來。我此輪通過添加以下到我的Global.asax

Sub Application_Error() 
    Response.Filter = Nothing 
End Sub 

發生錯誤時這將去除濾出的反應,並出現我的錯誤消息。

對於解決方法,請使用this blog post來表示Rick Strahl。這並不理想,但它對我來說很有用,而這正是我現在真正煩惱的地方。