這篇文章花了點時間,差點成爛到電腦里面,寫的過程中有好幾次修改,最終的這個版本也不是很滿意,東西說的不夠細,還需要認真的去看下源碼才能有所體會,先這樣吧,后面有時間把細節(jié)慢慢的再修改。順便對于開發(fā)的學習,個人是覺得源碼的閱讀是最快的提高方式,當然閱讀不是走馬觀花,應(yīng)該多次閱讀。
上次說到獲得HttpApplication對象的創(chuàng)建,創(chuàng)建完成后調(diào)用InitInternal方法,這個方法任務(wù)比較多,也比較長,這里就不貼全碼了,一個一個過程的去說:
初始化HttpModule
對于HttpModule的認識,首先應(yīng)該看下HttpModule的使用情況,下面通過一個簡單的例子展示:
httpModule使用實例
新建一個項目,添加一個webform的窗體default.aspx,使用IIS添加到網(wǎng)站,應(yīng)用程序池使用集成模式。
添加一個MyModule.cs,繼承自IHttpModule。
在IHttpMoudule中有兩個方法,在MyModule中必須要實現(xiàn):
public void Init(HttpApplication context) { throw new System.NotImplementedException(); }public void Dispose() { throw new System.NotImplementedException(); }
在Init方法中,有一個HttpApplication類型的對象context,這里可以對其中的響應(yīng)的內(nèi)容進行更改,修改如下: