婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.Net 請求響應(yīng)流程簡述

ASP.Net 請求響應(yīng)流程簡述

熱門標(biāo)簽:上海楊浦怎么申請申請400電話 山西防封卡電銷卡套餐 廈門商鋪地圖標(biāo)注 海外地圖標(biāo)注門市標(biāo) 銅川小型外呼系統(tǒng)運營商 陜西人工外呼系統(tǒng)哪家好 浙江外呼系統(tǒng)怎么安裝 云南外呼電銷機器人系統(tǒng) 地圖標(biāo)注多個行程

一、瀏覽器請求頁面的簡單流程

當(dāng)瀏覽器請求靜態(tài)頁面時,會發(fā)送請求給服務(wù)器軟件,服務(wù)器軟件直接去找對應(yīng)的靜態(tài)頁面,并返回給瀏覽器。

當(dāng)瀏覽器請求動態(tài)頁面時,服務(wù)器軟件收到請求,發(fā)現(xiàn)處理不了.aspx文件,就去映射表當(dāng)中根據(jù)后綴名找對應(yīng)的處理程序(aspnet_isapi.dll),這個處理程序?qū)崿F(xiàn)了服務(wù)器軟件提供的接口,即服務(wù)器軟件通過接口調(diào)用了這個處理程序當(dāng)中的方法。aspnet_isapi.dll會將請求轉(zhuǎn)交給.Net Framework,由它處理動態(tài)頁面,創(chuàng)建頁面對象,生成相應(yīng)報文,響應(yīng)給瀏覽器。

當(dāng)服務(wù)器接收到瀏覽器的動態(tài)頁面請求時,去網(wǎng)站的程序集中找對應(yīng)的類,通過反射的方式創(chuàng)建類的對象,并運行ProcessRequest方法處理用戶的需求,最后通過Write方法輸出響應(yīng)數(shù)據(jù)。

執(zhí)行Write時,會把數(shù)據(jù)放入緩存區(qū),頁面執(zhí)行完畢后一次性返還給瀏覽器。

二、一般處理程序的IHttpHandler接口

服務(wù)器接收請求,要創(chuàng)建頁面對象的時候,發(fā)現(xiàn)每一個文件都是一個類,它不知道如何去調(diào)用方法創(chuàng)建頁面,于是就需要一個中間處理——將頁面類的對象轉(zhuǎn)成一個接口IHttpHandler類型,然后通過調(diào)用接口中的方法來實現(xiàn)處理。

一般處理程序是一個實現(xiàn)了IHttpHandler特殊接口的類,凡是實現(xiàn)了這個接口的類,都能作為一個外部請求的目標(biāo)程序。

如果被請求的類沒有實現(xiàn)這個接口,在轉(zhuǎn)換的時候就會出錯,提示沒有實現(xiàn)IHttpHandler接口。所以,一般處理程序里的方法,實際上是實現(xiàn)了IHttpHandler中的方法。

三、一般處理程序細(xì)節(jié)

IHttpHandler是重要的接口,context封裝了所有瀏覽器發(fā)來的請求報文,ProcessRequest方法表示頁面被訪問時調(diào)用這個方法里的代碼段,是個入口。Context.Response是對輸出的封裝,ContextType是響應(yīng)報文中的ContextType值,是響應(yīng)輸出的方式。

IsReusable是IHttpHandler中的另一個方法,設(shè)置頁面是否可以重用,以減少多次訪問時Web服務(wù)器的壓力。

四、詳細(xì)請求流程 

服務(wù)器接收到用戶請求,aspnet_isapi.dll將請求移交給Application Domain,它會間接調(diào)用HttpRuntime的靜態(tài)方法處理用戶的請求。

首先,分析請求報文,并把請求報文封裝成HttpWorkerRequest對象,之后拆解請求報文,將各個字段封裝位HttpRequest對象(這個對象包含QueryString和Form方法)。

HttpRequest對象和HttpResponse對象等,共同組成了HttpContext對象。

HttpApplicationFactory類查找Application池中有沒有現(xiàn)成可用的HttpApplication對象,如果有就直接拿來用,如果沒有,就創(chuàng)建一個。HttpApplication對象中有ProcessRequest方法,這個方法有HttpContext對象。正好拿剛才的來用。

HttpApplication對象進入請求管道,先后執(zhí)行19個委托事件,在第8個事件時創(chuàng)建被請求頁面的對象,在第11和12個事件之間執(zhí)行被創(chuàng)建對象的ProcessRequest方法。

五、WebForm的頁面生命周期

在請求管道的第11個事件執(zhí)行被創(chuàng)建頁面類的PeocessRequest方法后,會調(diào)用BuildControlsTree方法進入頁面的生命周期。

在頁面生命周期中會連續(xù)調(diào)用一連串的事件,其中一個Render方法會去遍歷整個控件樹,生成對應(yīng)的HTML代碼,最后組合成為整個頁面的HTML代碼返還給瀏覽器。

您可能感興趣的文章:
  • ASP.NET基于Ajax的Enter鍵提交問題分析
  • ASP.NET2.0使用Enter Key作為默認(rèn)提交問題分析(附源碼)
  • asp.net textbox javascript實現(xiàn)enter與ctrl+enter互換 文本框發(fā)送消息與換行(類似于QQ)
  • asp.net(c#)Enterprise Library 3.0 下載
  • asp.net實現(xiàn)取消頁面表單內(nèi)文本輸入框Enter響應(yīng)的方法

標(biāo)簽:西雙版納 萊蕪 信陽 許昌 自貢 孝感 常州 朔州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.Net 請求響應(yīng)流程簡述》,本文關(guān)鍵詞  ASP.Net,請求,響應(yīng),流程,簡述,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.Net 請求響應(yīng)流程簡述》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.Net 請求響應(yīng)流程簡述的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 苗栗县| 灌南县| 大田县| 阳泉市| 浙江省| 乐亭县| 开鲁县| 中卫市| 尼勒克县| 灵璧县| 酒泉市| 澳门| 宁晋县| 宿州市| 永和县| 望江县| 同德县| 花莲市| 墨脱县| 桃园县| 叙永县| 汕尾市| 治县。| 沙雅县| 县级市| 濮阳县| 马龙县| 临颍县| 塘沽区| 澄迈县| 资源县| 蓝山县| 阿瓦提县| 新干县| 山西省| 萍乡市| 合肥市| 富锦市| 马鞍山市| 萍乡市| 瑞丽市|