这篇文章花了点时间,差点成烂到电脑里面,写的过程中有好几次修改,最终的这个版本也不是很满意,东西说的不够细,还需要认真的去看下源码才能有所体会,先这样吧,后面有时间把细节慢慢的再修改。顺便对于开发的学习,个人是觉得源码的阅读是最快的提高方式,当然阅读不是走马观花,应该多次阅读。
上次说到获得HttpApplication对象的创建,创建完成后调用InitInternal方法,这个方法任务比较多,也比较长,这里就不贴全码了,一个一个过程的去说:
初始化HttpModule
对于HttpModule的认识,首先应该看下HttpModule的使用情况,下面通过一个简单的例子展示:
httpModule使用实例
新建一个项目,添加一个webform的窗体default.aspx,使用IIS添加到网站,应用程序池使用集成模式。
添加一个MyModule.cs,继承自IHttpModule。
在IHttpMoudule中有两个方法,在MyModule中必须要实现:
public void Init(HttpApplication context) { throw new System.NotImplementedException(); }public void Dispose() { throw new System.NotImplementedException(); }
在Init方法中,有一个HttpApplication类型的对象context,这里可以对其中的响应的内容进行更改,修改如下: