成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET頁面請求原理淺析

開發 后端
本文向您介紹ASP.NET頁面請求的執行過程和原理,分析各組件的任務和關系,包括ISAPIRuntime、HttpRuntime、HttpApplicationFactory等。

每一個ASP.NET程序執行時都會對當前URL的請求進行解析,本文將分析ASP.NET頁面請求的原理。當我們在瀏覽器上輸入一個URL時, 流程如下:

首先被WWW服務器截獲(inetinfo.exe進程), 該進程首先判斷頁面后綴, 然后根據IIS中配置決定調用具體的擴展程序。

如aspx就會調用aspnet_isapi.dll, 然后由aspnet_isapi.dll發送給w3wp.exe(iis 工作者進程,IIS6.0中叫做 w3wq.exe,IIS5.0中叫做 aspnet_wp.exe).

接下來就是w3wp.exe調用.net類庫進行具體處理,流程如下:

ISAPIRuntime-->HttpRuntime-->HttpApplicationFactory-->HttpApplication-->HttpModule--HttpHandlerFactory-->HttpHandle

ASP.NET頁面請求過程示意圖

 

1. ISAPIRuntime

主要作用是調用一些非托管代碼生成HttpWorkerRequest對象,HttpWorkerRequest對象包含當前請求的所有信息,然后傳遞給HttpRuntime,這里生成的HttpWorkerRequest對象可以直接在我們的頁面中調用的,通過它取得原始的請求信息:

2. HttpRuntime

a. 根據HttpWorkerRequest對象生成HttpContext,HttpContext包含request、response等屬性;
b. 調用HttpApplicationFactory來生成IHttpHandler(這里生成的是一個默認的HttpApplication對象,HttpApplication也是IHttpHandler接口的一個實現)
c. 調用HttpApplication對象執行請求

3. HttpApplicationFactory.

主要是生成一個HttpApplication對象:

首先會查看是否存在global.asax文件,如果有的話就用它來生成HttpApplication對象,從這里我們可以看到global.asax的文件名是在asp.net的框架中寫死的,不能修改的。如果這個文件不存在就使用默認的對象。

4. HttpApplication

這個是比較復雜也比較重要的一個對象, 首先是執行初始化操作,比較重要的一步就是進行HttpModule的初始化:

HttpApplication代表著程序員創建的Web應用程序。HttpApplication創建針對此Http請求的 HttpContext對象,這些對象包含了關于此請求的諸多其他對象,主要是HttpRequest、HttpResponse、HttpSessionState等。這些對象在程序中可以通過Page類或者Context類進行訪問。

它會讀取web.config中所有HttpModule的配置

5. HttpModule

6. HttpHandlerFactory

7. HttpHandler

 

【編輯推薦】

  1. ASP.NET的錯誤處理機制
  2. ASP.NET多附件上傳和附件編輯的實現
  3. ASP.NET中性能和擴展性的秘密
  4. ASP.NET 3.5圖表控件親密接觸
  5. 詳解ASP.NET的四種狀態
責任編輯:佚名 來源: 博客園
相關推薦

2009-07-28 16:40:11

ASP.NET異步頁面

2009-08-03 13:38:18

ASP.NET編程模型

2009-08-05 14:01:50

ASP.NET配置錯誤

2009-07-29 16:41:45

ASP.NET頁面框架

2009-07-24 10:53:51

ASP.NET實現靜態

2009-08-05 14:17:27

ASP.NET錯誤頁面

2009-08-05 18:36:12

ASP.NET Che

2009-07-24 13:41:15

ASP.NET AJA

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 15:50:13

ASP.NET優點

2009-10-10 10:44:15

ASP.NET頁面緩存

2009-07-20 14:54:23

HttpWorkerRASP.NET

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設計

2009-07-29 09:34:54

IsPostBack屬ASP.NET

2009-08-04 17:16:16

ASP.NET代碼優化

2009-08-05 16:17:29

ASP.NET For

2009-08-05 16:50:09

ASP.NET For

2009-07-24 18:02:46

ASP.NET編程

2009-08-05 16:53:14

ASP.NET組件設計

2009-08-10 14:55:43

ASP.NET htt
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产欧美一区二区 | 亚洲综合视频 | 国产成人99 | 日日草天天干 | 天天草天天干天天 | 国产在线看片 | 欧美日韩中文字幕 | 一本大道久久a久久精二百 欧洲一区二区三区 | 欧美国产精品久久久 | 五月婷婷在线播放 | 久久久久亚洲 | 波多野结衣中文字幕一区二区三区 | 免费骚视频 | 久久综合国产 | 色频| 红桃视频一区二区三区免费 | 日本不卡一区二区 | 欧美视频成人 | 欧美日韩久 | 在线观看国产三级 | 青青草网站在线观看 | 精品国产91 | 亚洲欧美激情精品一区二区 | 亚洲三级在线观看 | 久久精品播放 | 日韩不卡视频在线观看 | 999精品视频在线观看 | 精品一区二区三区免费视频 | 亚洲福利网 | 99精品一级欧美片免费播放 | 91免费观看国产 | 免费永久av | 国产精品久久久久久久久久免费看 | 91中文字幕在线观看 | 国产精品久久久久久久久久99 | 日本小电影网站 | 97伦理电影网 | 国产精品黄色 | 国产在线精品一区二区三区 | 天天av天天好逼 | 国产成人精品久久 |