2012-03-23 52 views
1

我有一個使用URL路由的ASP.NET 4 Web窗體應用程序。我在Application_Start中指定了以下路由:ASP.NET 4 Web窗體使用路由 - Application_Error不會調用錯誤

routes.MapPageRoute(「Schedule」,「Schedule」,「〜/ Schedule.aspx」);

很簡單。我只是想將「http://example.com/Schedule」的請求重新路由到「http://example.com/Schedule.aspx」。很棒。但是,如果我的應用程序在使用路由時引發異常,則Global.asax中的Application_Error方法不會執行。我會看到通用.net錯誤消息。如果我在使用完整的「Schedule.aspx」時拋出相同的異常,它會按預期工作。有任何想法嗎?

回答

1

來源:http://msdn.microsoft.com/en-us/library/24395wz3.aspx

是在Global.asax文件中定義將只捕獲由ASP.NET運行時請求的處理過程中發生的錯誤的錯誤處理程序。例如,如果用戶請求在應用程序中不存在的.aspx文件,它將捕獲錯誤。 但是,如果用戶請求不存在的.htm文件,它不會捕獲錯誤。對於非ASP.NET錯誤,您可以在Internet Information Services(IIS)中創建自定義處理程序。自定義處理程序也不會被調用服務器級錯誤。

我認爲粗體文本爲什麼不按預期工作。對不起,但我沒有一個很好的解決方案。

+0

謝謝,這有助於至少解釋它爲什麼這樣做。如果有一種方法可以在.net應用程序中編寫自定義處理程序,那將會很好。 – 2012-03-23 19:10:58