ASP.NET網(wǎng)站第一次訪問(wèn)慢的解決方法
本篇經(jīng)驗(yàn)以IIS8,Windows Server 2012R2做為案例。
IIS8 運(yùn)行在Windows Server 2012 and Windows 8 版本以上的平臺(tái)上。
IIS中應(yīng)用程序池和網(wǎng)站是單獨(dú)存在的,但是網(wǎng)站運(yùn)行必須建立在對(duì)應(yīng)的應(yīng)用程序池啟動(dòng)的前提下。
默認(rèn)情況下,應(yīng)用程序池在不活動(dòng)情況下(無(wú)請(qǐng)求操作),一段時(shí)間后,將被IIS自動(dòng)回收掉。
IIS8 自帶應(yīng)用程序初始化工具包,IIS7.5要搜索獨(dú)立安裝包進(jìn)行安裝,低于7.5的暫時(shí)不支持IIS自動(dòng)初始化。
本篇經(jīng)驗(yàn)中的方法能解決ASP.Net第一次訪問(wèn)慢,間隔一段時(shí)間后,又訪問(wèn)慢的問(wèn)題。
方法/步驟
安裝IIS應(yīng)用程序初始化功能,如下圖所示:

編輯網(wǎng)站對(duì)應(yīng)應(yīng)用程序池啟動(dòng)模式,操作路徑:應(yīng)用程序池 -> 網(wǎng)站對(duì)應(yīng)程序池 -> 右鍵,高級(jí)設(shè)置 ->選擇,啟動(dòng)模式AlwaysRunning,如下圖所示:

開(kāi)啟對(duì)應(yīng)網(wǎng)站預(yù)加載,操作路徑:網(wǎng)站 -> 對(duì)應(yīng)網(wǎng)站 -> 右鍵,高級(jí)設(shè)置 ->選擇,預(yù)加載已啟用 True,如下圖所示:

設(shè)置配置編輯器,編寫(xiě)默認(rèn)預(yù)加載請(qǐng)求,打開(kāi)配置編輯器,如下圖所示:

在左上角配置節(jié)點(diǎn)選擇system.webServer/applicationInitialization,其他配置如紅圈中,如下圖所示:

在集合中添加一個(gè)初始化請(qǐng)求地址(用于IIS初始化默認(rèn)請(qǐng)求地址),添加完成后,點(diǎn)擊配置界面右側(cè)的應(yīng)用按鈕,并重啟應(yīng)用程序池和網(wǎng)站,如下圖所示:

總結(jié):
1、原理說(shuō)明:IIS應(yīng)用初始化會(huì)在網(wǎng)站第一次創(chuàng)建后或者對(duì)應(yīng)網(wǎng)站的應(yīng)用程序池回收后,自動(dòng)開(kāi)啟新程序池,并啟動(dòng)網(wǎng)站初始化,模擬一次正常請(qǐng)求,使網(wǎng)站一直處于在線狀態(tài)。
(此流程可以借助第三方工具或者服務(wù)模擬網(wǎng)站請(qǐng)求達(dá)到相同目的)
2、配置說(shuō)明:
?。?)、啟用應(yīng)用程序池(AlwaysRunning):保證應(yīng)用程序池在第一次創(chuàng)建或者被回收后,能自動(dòng)再次重啟運(yùn)行。
(2)、啟用網(wǎng)站程序預(yù)加載(true):保證程序池在啟動(dòng)過(guò)后,網(wǎng)站能響應(yīng)預(yù)加載動(dòng)作。
?。?)、配置網(wǎng)站默認(rèn)預(yù)加載路徑:保證程序在程序池啟動(dòng)后,網(wǎng)站預(yù)加載過(guò)程中,能快速編譯程序并進(jìn)駐內(nèi)存,保證請(qǐng)求快速響應(yīng)?!?/p>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- .Net Core3 用Windows 桌面應(yīng)用開(kāi)發(fā)Asp.Net Core網(wǎng)站
- 如何利用IIS調(diào)試ASP.NET網(wǎng)站程序詳解
- 利用IIS調(diào)試ASP.NET網(wǎng)站程序的完整步驟
- asp.net core下給網(wǎng)站做安全設(shè)置的方法詳解
- IIS部署asp.net mvc網(wǎng)站的方法
- ASP.NET Core 2.0 使用支付寶PC網(wǎng)站支付實(shí)現(xiàn)代碼
- CodeFirst從零開(kāi)始搭建Asp.Net Core2.0網(wǎng)站
- 詳解ASP.NET Core 網(wǎng)站在Docker中運(yùn)行
- 如何使用ASP.NET創(chuàng)建網(wǎng)站并設(shè)計(jì)web頁(yè)面
相關(guān)文章
如何在ASP.NET Core中使用Session的示例代碼
這篇文章主要介紹了如何在ASP.NET Core中使用Session的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Visual Stduio 2010開(kāi)發(fā)環(huán)境搭建教程
這篇文章主要為大家詳細(xì)介紹了Visual Stduio 2010開(kāi)發(fā)環(huán)境搭建教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
ASP.NET MVC 數(shù)據(jù)驗(yàn)證及相關(guān)內(nèi)容
這篇文章主要介紹了ASP.NET MVC 數(shù)據(jù)驗(yàn)證及相關(guān)內(nèi)容的相關(guān)資料,需要的朋友可以參考下2014-10-10
白刃之戰(zhàn):PHP vs. ASP.NET(節(jié)選)-架構(gòu)比較
白刃之戰(zhàn):PHP vs. ASP.NET(節(jié)選)-架構(gòu)比較...2006-09-09
詳細(xì)介紹.NET中的動(dòng)態(tài)編譯技術(shù)
這篇文章詳細(xì)介紹了.NET中的動(dòng)態(tài)編譯技術(shù),有需要的朋友可以參考一下2013-11-11
asp.net 預(yù)防SQL注入攻擊之我見(jiàn)
說(shuō)起防止SQL注入攻擊,感覺(jué)很郁悶,這么多年了大家一直在討論,也一直在爭(zhēng)論,可是到了現(xiàn)在似乎還是沒(méi)有定論。當(dāng)不知道注入原理的時(shí)候會(huì)覺(jué)得很神奇,怎么就被注入了呢?會(huì)覺(jué)得很難預(yù)防。但是當(dāng)知道了注入原理之后預(yù)防不就是很簡(jiǎn)單的事情了嗎?2009-11-11

