小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

HttpModule到底是個(gè)什么東西...

 kommy 2007-09-15

  在學(xué)習(xí)DNN到UrlRewriteModule類時(shí)(UrlRewriteModule.vb中),發(fā)現(xiàn)這個(gè)類是由IHttpModule接口繼承來的。一查MSDN知道了UrlRewriteModule原來是個(gè)HttpModule。那么HttpModule到底是個(gè)什么東西?有什么用?用了有什么好處?
  HttpModule這個(gè)東西我原來從來沒有用到過(可見自己的知識(shí)面和.net的龐大功能有多么大的差別)。這次學(xué)習(xí)DNN讓我有機(jī)會(huì)見到HttpModule,不能放過這個(gè)知識(shí)點(diǎn)的空缺。在查詢了相關(guān)的資料以后終于算是對(duì)HttpModule有了初步的了解。

  HttpModule 是實(shí)現(xiàn) IHttpModule 接口和處理事件的程序集。ASP.NET 包含一組可由應(yīng)用程序使用的 HttpModule 模塊。例如,ASP.NET 提供了 SessionStateModule 來向應(yīng)用程序提供會(huì)話狀態(tài)服務(wù)。可以創(chuàng)建自定義 HttpModule 以響應(yīng) ASP.NET 事件或用戶事件。
編寫 HttpModule 的一般過程為:
1、實(shí)現(xiàn) IHttpModule 接口,如:

    Public Class UrlRewriteModule
        
Implements IHttpModule
    
End Class

2、處理 Init 方法并為所需事件進(jìn)行注冊(cè),如:

    Public Sub Init(ByVal application As HttpApplication) Implements IHttpModule.Init
       
'初始化時(shí)為 HttpApplication 事件 BeginRequest 注冊(cè)事件處理程序OnBeginRequest
       AddHandler application.BeginRequest, AddressOf Me.OnBeginRequest
    
End Sub

3、處理該事件,如:

    Public Sub OnBeginRequest(ByVal s As ObjectByVal e As EventArgs)
        
'代碼略
    End Sub

4、如果必須進(jìn)行清理,還可根據(jù)需要實(shí)現(xiàn) Dispose 方法。

    Public Sub Dispose() Implements IHttpModule.Dispose
    
End Sub

5、在 Web.config 中注冊(cè)該模塊。 

    <!-- 在一個(gè)應(yīng)用程序內(nèi)配置 HTTP 模塊 -->
    
<httpModules>
      
<add name="UrlRewrite" type="DotNetNuke.HttpModules.UrlRewriteModule, DotNetNuke.HttpModules.UrlRewrite" />
    
</httpModules>

  在原來要處理application.BeginRequest事件(發(fā)出信號(hào)表示新的請(qǐng)求時(shí)觸發(fā)),一般都寫在 Global.asax 里的Application_BeginRequest中,原來程序中BeginRequest事件中的處理并不多,代碼量也很少,把BeginRequest事件的處理的代碼都放到Global.asax中也沒有什么問題??墒窃贒NN中BeginRequest要處理的事件很多,還可能有擴(kuò)充的需求。而且將不同功能的事件處理,寫到不同HttpModule中也能夠使代碼結(jié)構(gòu)更加清晰。
  但是如果有多個(gè)HttpModule都包括application.BeginRequest那么程序的執(zhí)行先后順序又是怎樣的呢?是不是先執(zhí)行Global.asax 里的,然后按照Web.config中的順序來呢?關(guān)于這一點(diǎn)還沒有找到答案,希望知道的人能告知一聲,謝謝!使用HttpModule還有什么更多的好處呢?也希望大家能指出,再次謝謝!

相關(guān)知識(shí):
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpguide/html/cpconhandlingpublicevents.asp

在ASP.NET中實(shí)現(xiàn)Url Rewriting

更多相關(guān)內(nèi)容>>

Feedback

# re: [DNN學(xué)習(xí)所得]HttpModule到底是個(gè)什么東西   回復(fù)  引用  查看    

2005-05-14 21:40 by R.Z
你可以設(shè)置端點(diǎn)跟蹤一下就知道了,我跟蹤的結(jié)果是global中的beginrequest最后執(zhí)行。

# re: [DNN學(xué)習(xí)所得]HttpModule到底是個(gè)什么東西   回復(fù)  引用  查看    

2005-05-16 09:25 by 二十四畫生
居然是global中的beginrequest最后執(zhí)行,看來自己是想錯(cuò)了。

# re: [DNN學(xué)習(xí)所得]HttpModule到底是個(gè)什么東西   回復(fù)  引用  查看    

2005-05-16 13:52 by djshow
<Asp.net 深入理解>里面有一章是專門講httpModule,httpHandler的, 那一章就網(wǎng)上隨處可見的<asp.net 深度歷險(xiǎn)>


那里面講得蠻清楚的,推薦閱讀.

# re: [DNN學(xué)習(xí)所得]HttpModule到底是個(gè)什么東西   回復(fù)  引用  查看    

2005-05-23 06:09 by osone
上傳圖片到MSSQL,然后通過一個(gè)DataList顯示圖片,datalist中圖片的讀取由一個(gè)
ashx文件完成,不知道怎么搞的,datalist中的圖片不能顯示出來

二十四畫生:對(duì)person starter kit 和club starter kit有研究嗎?

# re: [DNN學(xué)習(xí)所得]HttpModule到底是個(gè)什么東西   回復(fù)  引用  查看    

2005-07-05 11:56 by Harry
我想聘請(qǐng)一個(gè)對(duì)dotnetnuke有研究(負(fù)責(zé)任的)的程序員。如果有興趣請(qǐng)聯(lián)系harry_shine@hotmail.com

# re: [DNN學(xué)習(xí)所得]HttpModule到底是個(gè)什么東西   回復(fù)  引用  查看    

2005-07-22 15:12 by 六子
我是在這兒學(xué)習(xí)HttpModule的:
http://www.microsoft.com/china/MSDN/library/architecture/patterns/esp/ImpInterCEptingFilterInASP.mspx

# re: [DNN學(xué)習(xí)所得]HttpModule到底是個(gè)什么東西[未登錄]   回復(fù)  引用  查看    

2007-08-12 16:46 by 馬攀科
樓主是我學(xué)習(xí)的榜樣!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多