首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

为什么自定义的HttpModule只对.aspx起作用,对.asmx确不起作用,该如何解决

2012-03-23 
为什么自定义的HttpModule只对.aspx起作用,对.asmx确不起作用C# codepublic class LogErrorModule : IHttp

为什么自定义的HttpModule只对.aspx起作用,对.asmx确不起作用

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

热点排行