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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

asp.net的運(yùn)行內(nèi)幕

2019-11-17 01:44:40
字體:
供稿:網(wǎng)友

asp.net的運(yùn)行內(nèi)幕

每當(dāng)瀏覽器向IIS發(fā)送一個(gè)頁面請(qǐng)求的時(shí)候,相應(yīng)的網(wǎng)頁就會(huì)被編譯成DLL文件,然后由JIT來運(yùn)行這個(gè)DLL文件,最后將運(yùn)行結(jié)果發(fā)送給客戶端。一旦網(wǎng)頁發(fā)送了變化,下次再請(qǐng)求頁面的話,網(wǎng)頁又會(huì)被重新被編譯成DLL文件,再由JIT來運(yùn)行。為了防止發(fā)生文件重名,生成的DLL文件采用了隨機(jī)命名。

當(dāng)向IIS發(fā)送請(qǐng)求時(shí),其內(nèi)部執(zhí)行過程如下:

  1. 檢查在服務(wù)器內(nèi)存中是否存在這個(gè)網(wǎng)頁的對(duì)應(yīng)的本地機(jī)器代碼
  2. 如果存在,則執(zhí)行本地機(jī)器代碼,將運(yùn)行結(jié)果發(fā)送到客戶端
  3. 如果不存在本地機(jī)器代碼,則檢查是否存在這個(gè)網(wǎng)頁編譯后的中間代碼,如果存在,則將中間代碼編譯成本地機(jī)器代碼,再執(zhí)行本地機(jī)器代碼將結(jié)果返回給客戶端,并將本地機(jī)器代碼緩存到內(nèi)存中
  4. 如果不存在對(duì)應(yīng)的中間代碼,則將這個(gè)網(wǎng)頁編譯成中間代碼,然后將中間代碼編譯成本地機(jī)器代碼,將本地機(jī)器代碼的執(zhí)行結(jié)果發(fā)送給客戶端,再將本地機(jī)器代碼緩存到內(nèi)存中。

以下是運(yùn)行時(shí)的流程圖:

由上述可知,在服務(wù)器沒有清理掉內(nèi)存中的機(jī)器代碼時(shí),訪問同一個(gè)頁面,服務(wù)器會(huì)直接執(zhí)行緩存中的機(jī)器代碼,運(yùn)行速度是相當(dāng)快的。所以aspx頁面在第一次被打開式會(huì)比較慢,因?yàn)橐壬蒁LL文件再編譯成機(jī)器代碼;以后再次執(zhí)行時(shí)就會(huì)比較快。除非修改了代碼,否則沒有必要重新生成DLL,并且對(duì)于第一次運(yùn)行比較慢的情況,可以通過預(yù)編譯來解決。

ps:上述過程可以在安裝IIS后,把a(bǔ)spx文件放在Inetpub/wwwroot目錄中,并通過在瀏覽器輸入http://localhost/+"對(duì)應(yīng)aspx文件名",返回結(jié)果后,可以在C:/Windows/Microsoft.NET/Framework64/v2.0.50727/Temporary ASP.NET Files的臨時(shí)文件里發(fā)現(xiàn)生成root的文件夾,在這個(gè)文件夾里會(huì)生成一個(gè)隨機(jī)命名的dll文件,如下圖所示:


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 温州市| 双桥区| 兰溪市| 崇左市| 大同市| 师宗县| 错那县| 穆棱市| 雅安市| 贞丰县| 大姚县| 安康市| 开鲁县| 通榆县| 铅山县| 象山县| 昌图县| 攀枝花市| 甘洛县| 偃师市| 铁岭县| 湖南省| 清徐县| 怀仁县| 根河市| 鄂尔多斯市| 衡阳县| 天峨县| 凯里市| 会同县| 无棣县| 东阳市| 太保市| 昭苏县| 中卫市| 平原县| 永定县| 巨野县| 巢湖市| 将乐县| 克山县|