国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

HttpHandler HttpModule入門篇

2024-07-10 12:42:44
字體:
來源:轉載
供稿:網友

生命周期中涉及到幾個非常重要的對象:HttpHandler,HttpModule,IHttpHandlerFactory,他們的執行(順序)大致的執行過程是這樣的:client端發送頁面請求,被IIS的某個進程截獲,它根據申請的頁 面后綴(.aspx)不同,調用不同的頁面處理程序(.asp->asp.dll; .aspx->ISAPI.dll).而頁面處理程序在處理過程中,則要經歷HttpModule,HttpHandler的處理:前者HttpModule用于頁面處理前和處理后的一些事件的處理,后者HttpHandler進行真正的頁面的處理。
如前所說,HttpModule會在頁面處理前和后對頁面進行處理,所以它不會影響真正的頁面請求。通常用在給每個頁面的頭部或者尾部添加一些信息(如版 權聲明)等.曾經見過一些免費的空間,我們的頁面上傳上去后,瀏覽的時候發現,在每個頁面的頭部和尾部多了很多小廣告....,如果理解了 HttpModule的原理,要做這個就不是很難了~


IHttpModule與IHttpHandler的區別整理
1.先后次序.先IHttpModule,后IHttpHandler. 注:Module要看你響應了哪個事件,一些事件是在Handler之前運行的,一些是在Handler之后運行的
2.對請求的處理上:
   IHttpModule是屬于大小通吃類型,無論客戶端請求的是什么文件,都會調用到它;例如aspx,rar,html的請求.
   IHttpHandler則屬于挑食類型,只有ASP.net注冊過的文件類型(例如aspx,asmx等等)才會輪到調用它.
3.IHttpHandler按照你的請求 生成響應的內容,IHttpModule對請求進行預處理,如驗證、修改、過濾等等,同時也可以對響應進行處理

 

ASP.Net系統本身配置有很多HttpHandler和HttpModule,以處理aspx等.Net標準的頁面文件,以及這些頁面文件中標 準的事件處理等。查看%System%/Microsoft.NET/Framework/v2.0.50727/CONFIG目錄下的 web.config文件中的httpHandlers和httpModules節點,可以看到這些配置。如果有興趣,可以使用Reflector查 看.Net系統中相關的類和方法,了解.Net如何處理以及做了什么處理。

.Net也提供了一套機制來開發自定義的HttpHandler和 HttpModule,均可以用于對HttpRequest的截取,完成自定義的處理。 HttpModule 繼承System.Web.IHttpModule接口,實現自己的HttpModule類。必須要實現接口的兩個方法:Init和Dispose。在 Init中,可以添加需要截取的事件;Dispose用于資源的釋放,如果在Init中創建了自己的資源對象,請在Dispose中進行釋放。
代碼如下:
namespace MyModule
{
public class MyHttpModule : IHttpModule
{
public MyHttpModule()
{
}
//Init方法用來注冊HttpApplication 事件。
public void Init(HttpApplication r_objApplication)
{
r_objApplication.BeginRequest += new EventHandler(this.BeginRequest);
}
public void Dispose()
{
}
private void BeginRequest(object r_objSender, EventArgs r_objEventArgs)
{
HttpApplication objApp = (HttpApplication)r_objSender;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀仁县| 个旧市| 江津市| 大理市| 舞阳县| 体育| 重庆市| 石屏县| 玛纳斯县| 大厂| 会昌县| 洞口县| 冷水江市| 莱芜市| 加查县| 永德县| 曲靖市| 宁都县| 昔阳县| 临洮县| 广饶县| 吉木乃县| 宁阳县| 平果县| 金昌市| 金溪县| 广丰县| 聊城市| 大关县| 文化| 宝清县| 上虞市| 沾化县| 嘉荫县| 玛多县| 唐河县| 宁夏| 邵武市| 小金县| 津南区| 博客|