所有的ASP.Net全局错误处理程序......但有几个

时间:2011-03-02 09:29:32

标签: c# asp.net

我想为我的asp.net网站实现一个全局错误处理程序。

我通常通过记录错误并重定向到错误页面来在global.asax中实现它。

到目前为止一切顺利,但是在这种情况下我们从Jquery调用了asmx webservices,不好说,在调用Jquery中使用了asmx webservice中抛出的错误。 因此,当从asmx文件抛出错误时,我想记录它们并重新抛出它们

我能想到的唯一一件事是检查堆栈跟踪中的.asmx扩展名,但希望采用其他方式(不知道原因,但字符串检查只是感觉很尴尬)

2 个答案:

答案 0 :(得分:2)

您可以根据Request.Url过滤掉asmx。 Request属性将在global.asax中的全局错误处理程序中提供。

答案 1 :(得分:0)

事实证明这不是问题:我们从JQuery调用.asmx文件,因此该类具有[System.Web.Script.Services.ScriptService]属性。

当您设置该属性时,发生的异常不会传播到正常的错误处理过程。

对我来说这是一个新事实,通常会很烦人,但在这种情况下它很有帮助。