国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

ASP.NET Web Page應(yīng)用深入探討第1/2頁(yè)

2024-07-10 12:38:39
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、服務(wù)器腳本基礎(chǔ)介紹
  首先,我們先復(fù)習(xí)一下Web服務(wù)器頁(yè)面的基本執(zhí)行方式:
  1、客戶端通過(guò)在瀏覽器的地址欄敲入地址來(lái)發(fā)送請(qǐng)求到服務(wù)器端
  2、服務(wù)器接收到請(qǐng)求之后,發(fā)給相應(yīng)的服務(wù)器端頁(yè)面(也就是腳本)來(lái)執(zhí)行,腳本產(chǎn)生客戶端的響應(yīng),發(fā)送回客戶端
  3、客戶端瀏覽器接收到服務(wù)器傳回的響應(yīng),對(duì)Html進(jìn)行解析,將圖形化的網(wǎng)頁(yè)呈現(xiàn)在用戶面前
  對(duì)于服務(wù)器和客戶端的交互,通常通過(guò)下面幾種主要方式:
  1、Form:這是最主要的方式,標(biāo)準(zhǔn)化的控件來(lái)獲取用戶的輸入,F(xiàn)orm的提交將數(shù)據(jù)發(fā)送給服務(wù)器端處理
  2、QueryString:通過(guò)在Url后面帶參數(shù)達(dá)到將參數(shù)傳送給服務(wù)器,這種方式其實(shí)跟Get方式的Form是一樣的
  3、Cookies:這是一種比較特殊的方式,通常用于用戶身份的確認(rèn)
  二、ASP.Net簡(jiǎn)介
  傳統(tǒng)的服務(wù)器腳本語(yǔ)言,如ASP、JSP等,編寫(xiě)服務(wù)器腳本的方式大同小異,都是在Html中嵌入解釋或編譯執(zhí)行的代碼,由服務(wù)器平臺(tái)執(zhí)行這些代碼來(lái)生成Html;對(duì)于這類(lèi)似的腳本,頁(yè)面的生存周期實(shí)際上很簡(jiǎn)單,就是從開(kāi)頭至末尾,執(zhí)行完所有的代碼,當(dāng)然用Java編寫(xiě)的Servlet可以編寫(xiě)更復(fù)雜的代碼,但是從結(jié)構(gòu)上看,和JSP沒(méi)什么區(qū)別。
  ASP.Net的出現(xiàn),打破了這種傳統(tǒng);ASP.Net采用了CodeBehind技術(shù)和服務(wù)器端控件,加入了服務(wù)器端的事件的概念,改變了腳本語(yǔ)言編寫(xiě)的模式,更加貼近Window編程,使Web編程更加簡(jiǎn)單、直觀;但是我們要看到,ASP.Net本身并沒(méi)有改變Web編程的基本模式,只是封裝了一些細(xì)節(jié)、提供了一些易用的功能,使代碼更容易編寫(xiě)和維護(hù);從某種程度上來(lái)說(shuō),將服務(wù)器端執(zhí)行的方式復(fù)雜化了,這就是我們今天要討論的主體:ASP.Net Web Page的生存周期。
  三、ASP.Net請(qǐng)求處理模式
  我們說(shuō),ASP.Net的Web Page并沒(méi)有脫離Web編程的模式,所以它仍然是以 請(qǐng)求->接收請(qǐng)求->處理請(qǐng)求->發(fā)送響應(yīng) 這樣的模式在工作,每一次與客戶端的交互都會(huì)引發(fā)一次新的請(qǐng)求,所以一個(gè)Web Page的生命周期是以一次請(qǐng)求為基礎(chǔ)的。
  當(dāng)IIS收到客戶端的請(qǐng)求的時(shí)候,會(huì)將請(qǐng)求交給aspnet_wp這個(gè)進(jìn)程來(lái)處理,這個(gè)進(jìn)程會(huì)查看請(qǐng)求的應(yīng)用程序域是否存在,如果不存在則會(huì)創(chuàng)建一個(gè),然后會(huì)創(chuàng)建一個(gè)Http運(yùn)行時(shí)(HttpRuntime)來(lái)處理請(qǐng)求,這個(gè)運(yùn)行時(shí)“為當(dāng)前應(yīng)用程序提供一組 ASP.NET 運(yùn)行時(shí)服務(wù)”(摘自MSDN)。
  HttpRuntime在處理請(qǐng)求的時(shí)候,會(huì)維護(hù)一系列的應(yīng)用程序?qū)嵗簿褪菓?yīng)用程序的Global類(lèi)(global.asax)的實(shí)例,這些實(shí)例在沒(méi)有請(qǐng)求的時(shí)候,會(huì)存放在一個(gè)應(yīng)用程序池中(實(shí)際上應(yīng)用程序池由另一個(gè)類(lèi)來(lái)維護(hù),HttpRuntime只是簡(jiǎn)單的調(diào)用),每接收到一個(gè)請(qǐng)求,HttpRuntime都會(huì)獲取一個(gè)閑置的實(shí)例來(lái)處理請(qǐng)求,這個(gè)實(shí)例在請(qǐng)求結(jié)束前不會(huì)處理其他的請(qǐng)求,處理完畢之后,它又會(huì)回到池中,“一個(gè)實(shí)例在其生存期內(nèi)被用于處理多個(gè)請(qǐng)求,但它一次只能處理一個(gè)請(qǐng)求?!保ㄕ訫SDN)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 于田县| 乾安县| 醴陵市| 永吉县| 会昌县| 江永县| 会昌县| 大埔区| 洪雅县| 宜州市| 常州市| 酉阳| 名山县| 明光市| 湟中县| 文成县| 皮山县| 清徐县| 南充市| 贡嘎县| 花莲市| 喀喇沁旗| 广东省| 平凉市| 崇仁县| 土默特右旗| 萝北县| 阜宁县| 侯马市| 边坝县| 临武县| 南充市| 开鲁县| 太白县| 土默特右旗| 藁城市| 山阴县| 凌海市| 南康市| 中西区| 临城县|