天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

ASP.NET內部原理(HttpHandler和HttpModule)

  在以前的ASP時候,當請求一個*.ASP頁面文件的時候,這個HTTP請求首先會被一個名為iNETinfo.exe進程所截獲,這個進程實際上就是www服務。截獲之后它會將這個請求轉交給ASP.dll進程,這個進程就會解釋這個ASP頁面,然后將解釋后的數據流返回給客戶端瀏覽器。其實ASP.DLL是一個依附在IIS的ISAPI文件,它負責了對諸如ASP文件,ASA等文件的解釋執(zhí)行,
-------------------------------------
ASP.NET的HTTP請求處理方法
  當客戶端向web服務器請求一個*.ASPx的頁面文件時,同ASP類似,這個http請求也會被iNETinfo.exe進程截獲(www服務),它判斷文件后綴之后,把這個請求轉交給ASPNET_ISAPI.DLL而ASPNET_ISAPI.DLL則會通過一個Http PipeLine的管道,將這個http請求發(fā)送給ASPNET_WP.EXE進程,當這個HTTP請求進入ASPNET_WP.EXE進程之后,ASP.NET framework就會通過HttpRuntime來處理這個Http請求,處理完畢后將結果返回給客戶端。
------------------------------------
  當一個http請求被送入到HttpRuntime之后,這個Http請求會繼續(xù)被送入到一個被稱之為HttpApplication Factory的一個容器當中,而這個容器會給出一個HttpApplication實例來處理傳遞進來的http請求,而后這個Http請求會依次進入到如下幾個容器中:
  HttpModule --> HttpHandler Factory --> HttpHandler

  當系統內部的HttpHandler的ProcessRequest方法處理完畢之后,整個Http Request就被處理完成了,客戶端也就得到相應的東東了。

完整的http請求在ASP.NET framework中的處理流程:
HttpRequest-->iNETinfo.exe->ASPNET_ISAPI.DLL-->Http Pipeline-->ASPNET_WP.EXE-->HttpRuntime-->HttpApplication Factory-->HttpApplication-->HttpModule-->HttpHandler Factory-->HttpHandler-->HttpHandler.ProcessRequest()

  如果想在中途截獲一個httpRequest并做些自己的處理,就應該在HttpRuntime運行時內部來做到這一點,確切的說時在HttpModule這個容器中做到這個的。
----------------------------------------
  系統本身的HttpModule實現一個IHttpModule的接口,當然我們自己的類也能夠實現IHttpModule接口,這就可以替代系統的HttpModule對象了。

ASP.NET系統中默認的HttpModule:

  DefaultAuthenticationModule 確保上下文中存在 Authentication 對象。無法繼承此類。
  FileAuthorizationModule 驗證遠程用戶是否具有訪問所請求文件的 NT 權限。無法繼承此類。
  FormsAuthenticationModule 啟用 ASP.NET 應用程序以使用 Forms 身份驗證。無法繼承此類。
  PassportAuthenticationModule 提供環(huán)繞 PassportAuthentication 服務的包裝。無法繼承此類。
  SessionStateModule   為應用程序提供會話狀態(tài)服務。
  UrlAuthorizationModule   提供基于 URL 的授權服務以允許或拒絕對指定資源的訪問。無法繼承此類。
  WindowsAuthenticationModule 啟用 ASP.NET 應用程序以使用 Windows/IIS 身份驗證。無法繼承此類

--------------------------------------
  這些系統默認的HttpModule是在文件machine.config中配置的,和我們開發(fā)時使用到的web.config的關系是:是在ASP.NET FRAMEWORK啟動處理一個Http Request的時候,它會依次加載machine.config和請求頁面所在目錄的web.config文件,如果在machine中配置了一個自己的HttpModule,你仍然可以在所在頁面的web.config文件中remove掉這個映射關系。

Code

NET技術ASP.NET內部原理(HttpHandler和HttpModule),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 99视频在线精品免费观看18 | 9久久免费国产精品特黄 | 91偷偷久久做嫩草电影院 | 亚洲大片在线观看 | 菠萝视频高清版在线观看 | 亚洲精品AV中文字幕在线 | 午夜男女爽爽羞羞影院在线观看 | 久久99国产精品蜜臀AV | 一个人免费完整在线观看影院 | 九九热在线视频精品店 | 日本粉嫩学生毛绒绒 | 三级网站午夜三级 | 国产乱辈通伦影片在线播放亚洲 | 免费观看成人毛片 | 日韩 无码 手机 在线 | 神马电影我不卡国语版 | 国产偷国产偷亚州清高 | 国产精品成人自拍 | 亚洲 欧美 日本 国产 高清 | 精品国产精品人妻久久无码五月天 | 美女动态图真人后进式 | 亚州中文字幕 | 狠狠综合久久综合88亚洲 | 国产精品亚欧美一区二区三区 | 99久久爱看免费观看 | 日本特殊精油按摩 | 婷婷亚洲五月色综合久久 | 调教美丽的白丝袜麻麻视频 | 美女扒开腿让男生桶爽免费APP | 国产亚洲精品高清视频免费 | 欧美牲交A欧美牲交VDO | 欧美阿v在线天堂 | 国产精品九九九久久九九 | 欧美最猛性xxxxx亚洲精品 | 亚洲福利天堂网福利在线观看 | 男人脱女人衣服吃奶视频 | 在线观看国产视频 | 风情韵味人妻HD | 国产高清视频在线观看97 | 国产精品99久久久久久AV下载 | 欧美高清vivoesosexo18 |