2011-03-02 86 views
0

我想爲我的asp.net網站實現一個全局錯誤處理程序。所有ASP.Net全局錯誤處理程序...但幾個

我通常通過記錄錯誤並重定向到錯誤頁面來在global.asax中實現此功能。

到目前爲止這麼好,但在這種情況下,我們已經調用了來自Jquery的asmx webservices,並且遺憾地說,在調用Jquery中使用了在asmx webservice中引發的錯誤。 所以,當誤差從ASMX文件扔了,我要記錄它們並重新拋出他們

我能想出的唯一的事情是檢查在堆棧跟蹤中的.asmx擴展,但希望一些其他的方式(不知道爲什麼,但字符串檢查只是感覺尷尬)

回答

0

事實證明這不是問題:我們從JQuery調用.asmx文件,因此該類具有[System.Web.Script.Services.ScriptService]屬性。

當您設置該屬性時,發生的異常不會傳播到正常的錯誤處理過程。

對我來說,這是一個新的事實,通常會很煩人,但在這種情況下它是有用的。

2

您可以基於Request.Url過濾掉asmx。 Request屬性將在global.asax中的全局錯誤處理程序中可用。

+0

這就是我提出的,過濾擴展名,但我想知道是否有另一種方式... – Michel 2011-03-02 10:18:12