溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET中HttpWorkerRequest對像的作用是什么

發(fā)布時間:2021-07-15 14:57:33 來源:億速云 閱讀:112 作者:Leah 欄目:編程語言

這篇文章給大家介紹ASP.NET中HttpWorkerRequest對像的作用是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

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

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

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

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

1. ISAPIRuntime

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

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

3. HttpApplicationFactory.

主要是生成一個HttpApplication對象:

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

4. HttpApplication

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

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

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

關于ASP.NET中HttpWorkerRequest對像的作用是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI