自定义HttpModule 继承自IHttpModule,
基本条件,实现其中的Init(HttpApplication app), Dispose()就可以了。
如果需要抓错,可以重写OnError。
由于HttpModule拦截处理的是Application级别的内容,
所以,Application范围内的任何内容都可以被过滤处理一遍。
比如想将所有的Request.Form中的内容都打出来,
就可以在Init方法中通过遍历app.Request.Form实现。
实现好的CustomModule需要加到Web.Config中的HttpModule段中,
这样下一次Application启动的时候,才会被调用的。
要注意的是,IIS7之后,单独在Web.Config中写也不会被Load,还要在IIS7中的Module管理中
追加这个自定义的Module。
<add name="ConstomModule" type="Wxg.Web.ConstomModule, Wxg.Web"/>
type的值是[类型名称 + ,+ Assembly名称], Assembly名称就是*.dll或*.exe的*名称。
今天遇到了一个想不通的问题,我想在CustomModule和IHttpModule中间加一层BaseHttpModule,
目的是为了出一些Module级别的共通性Log。 CustomModule 从IHttpModule的儿子,降级成孙子之后,在Web.Config中将孙子配好了,却不被Load。
等调查清楚了再追加说明吧。
没有评论:
发表评论