溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

ASP.NET中頁(yè)面請(qǐng)求的原理是什么

發(fā)布時(shí)間:2021-07-15 15:02:01 來(lái)源:億速云 閱讀:155 作者:Leah 欄目:編程語(yǔ)言

ASP.NET中頁(yè)面請(qǐng)求的原理是什么,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

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

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

接下來(lái)就是w3wp.exe調(diào)用.net類(lèi)庫(kù)進(jìn)行具體處理,流程如下:

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

ASP.NET中頁(yè)面請(qǐng)求的原理是什么

1. ISAPIRuntime

主要作用是調(diào)用一些非托管代碼生成HttpWorkerRequest對(duì)象,HttpWorkerRequest對(duì)象包含當(dāng)前請(qǐng)求的所有信息,然后傳遞給HttpRuntime,這里生成的HttpWorkerRequest對(duì)象可以直接在我們的頁(yè)面中調(diào)用的,通過(guò)它取得原始的請(qǐng)求信息:

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

3. HttpApplicationFactory.

主要是生成一個(gè)HttpApplication對(duì)象:

首先會(huì)查看是否存在global.asax文件,如果有的話(huà)就用它來(lái)生成HttpApplication對(duì)象,從這里我們可以看到global.asax的文件名是在asp.net的框架中寫(xiě)死的,不能修改的。如果這個(gè)文件不存在就使用默認(rèn)的對(duì)象。

4. HttpApplication

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

HttpApplication代表著程序員創(chuàng)建的Web應(yīng)用程序。HttpApplication創(chuàng)建針對(duì)此Http請(qǐng)求的 HttpContext對(duì)象,這些對(duì)象包含了關(guān)于此請(qǐng)求的諸多其他對(duì)象,主要是HttpRequest、HttpResponse、HttpSessionState等。這些對(duì)象在程序中可以通過(guò)Page類(lèi)或者Context類(lèi)進(jìn)行訪(fǎng)問(wèn)。

它會(huì)讀取web.config中所有HttpModule的配置

看完上述內(nèi)容,你們掌握ASP.NET中頁(yè)面請(qǐng)求的原理是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

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

AI