以及如何解决它。为了维护目的,我想记录每个抛出的异常。
答案 0 :(得分:42)
这是.Net中的已知问题 - Application_Error永远不会为Web服务触发。不确定是否有任何理由是设计,但它不起作用。
几年前,杰夫阿特伍德有一个post(以及follow-up)关于此问题,提出了以下想法:我唯一关心的是第一个,即使看起来很多工作。
答案 1 :(得分:16)
更好:HttpApplication.Error event:
如果您的Web应用程序包含XML Web服务,你不能使用Error 用于全局异常处理的事件 那些服务。 HTTP处理程序 XML Web服务消耗任何 XML Web中发生的异常 服务并将其转换为SOAP 在调用Error之前发生错误。 要处理XML Web服务异常, 构建SOAP扩展来处理Web 自定义全局中的服务异常 异常处理程序更多 信息,请参阅Handling and Throwing Exceptions in XML Web Services。
答案 2 :(得分:13)
对于在此主题上寻找微软话语的任何人,请参阅此处:“Handling and Throwing Exceptions in XML Web Services”。
这是相关部分:
Web应用程序可以由多个XML Web服务组成,但Global.asax文件中的Application_Error事件不能用于全局异常处理。 XML Web服务的HttpHandler消耗在执行XML Web服务时发生的任何异常,并在调用Application_Error事件之前将其转换为SOAP错误。
答案 3 :(得分:-4)
默认情况下,Application_error在iis 7上不起作用。