- C# code
public class LogErrorModule : IHttpModule { public void Init(HttpApplication context) { context.Error += new EventHandler(context_Error); } void context_Error(object sender, EventArgs e) { File.WriteAllText("C:\\doc\\error.txt",HttpContext.Current.Error.ToString()); } public void Dispose() { } }
- HTML code
<add name="LogErrModule" type="ErrorHttpModule.LogErrorModule"/>
打开一个.aspx页面,显示的抛出异常,会记录下来
但是调用一个Web服务,显示抛出异常,确记录不下来
------解决方案--------------------
asmx 不是交给aspnet_wp进程解析的。webservice的拦截有另外的做法。
------解决方案--------------------
我看了看,感觉是提前被处理掉了错误。BeginRequest和EndRequest在HttpModule里都能拦截到。
用 SoapExtension 应该能里处理
http://msdn.microsoft.com/zh-cn/library/system.web.services.protocols.soapextension(v=vs.80).aspx