2013-12-14 70 views
2

我使用Application_Error處理程序記錄所有未處理的異常;通常它運行良好,但總是會跳過404錯誤。任何想法可能是什麼原因?Application_Error未在404錯誤上觸發

+0

檢查此URL http://stackoverflow.com/questions/13155741/application-error-not 404-page-when-extra-custom-segment – Kamlesh

回答

1

實際上,這是因爲這是您的Web服務器返回的http協議錯誤。它不是.net框架異常,因此無法通過asp.net進行處理。但是,您可以將IIS配置爲在返回404錯誤時提供自定義頁面,並且可以通過web.config文件完成此操作。不用說,這個自定義頁面可能是一個aspx頁面,您可以在其中添加一些自定義處理,例如記錄錯誤;)

+0

這可能通常是錯誤的。很多對不存在的資源的請求可能會進入應用程序,然後無法解析路徑並觸發HttpException等。 – Alex

1

404並不總是由異常引起的。您只需設置Response.Status*字段即可生成404響應。

使用Application_EndRequest檢查響應並對其採取行動。