溫馨提示×

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

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

ASP.NET如何預(yù)編譯Web應(yīng)用程序

發(fā)布時(shí)間:2021-12-01 09:57:16 來(lái)源:億速云 閱讀:189 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下ASP.NET如何預(yù)編譯Web應(yīng)用程序,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

ASP.NET 1.x的開(kāi)發(fā)人員常常聽(tīng)到用戶抱怨***調(diào)用應(yīng)用程序的時(shí)候會(huì)碰到初始化延遲。畢竟,初次請(qǐng)求會(huì)引發(fā)一個(gè)系列過(guò)程,包括運(yùn)行庫(kù)初始化、分析、把ASPX頁(yè)面編譯成中間語(yǔ)言、把方法即時(shí)編譯成本地代碼等等。

自從ASP.NET面市以來(lái),開(kāi)發(fā)人員一直都在要求(微軟)出臺(tái)一個(gè)解決辦法,而ASP.NET 2.0利用預(yù)編譯提供了一個(gè)有效的解決方案。

預(yù)編譯Web應(yīng)用程序

在***啟動(dòng)應(yīng)用程序的時(shí)候,ASP.NET會(huì)動(dòng)態(tài)地分析和編譯所有的ASP.NET文件(aspx頁(yè)面)。運(yùn)行環(huán)境要對(duì)編譯的結(jié)果進(jìn)行緩沖,以便更好地服務(wù)未來(lái)所有的請(qǐng)求。

服務(wù)器重啟或者Web服務(wù)器重啟之后,***次啟動(dòng)應(yīng)用程序也意味著這一過(guò)程要重新開(kāi)始。而且,對(duì)應(yīng)用程序任何文件的改變都會(huì)被系統(tǒng)檢測(cè)到,而在文件發(fā)生改變之后***運(yùn)行應(yīng)用程序也會(huì)讓這一過(guò)程再次發(fā)生。

很多Web開(kāi)發(fā)人員都很討厭這種初始化延遲。而預(yù)編譯通過(guò)(預(yù)先)編譯應(yīng)用程序避免了這種延遲。

命令行

通過(guò)安裝在.NET框架2.0里的aspnet_compiler.exe程序就能夠啟動(dòng)預(yù)編譯。它位于框架安裝目錄下(版本號(hào)會(huì)根據(jù)安裝的框架的版本而有所不同)。下面就是這個(gè)程序默認(rèn)的路徑:

C:< windows base directory>Microsoft.NET

Frameworkv2.0.5072aspnet_compiler.exe

您可以用-?這個(gè)命令參數(shù)查看該程序的所有參數(shù)列表,下面我就解釋一下一些可用的參數(shù):

m:這個(gè)參數(shù)表示您將使用完整的、應(yīng)用程序?qū)⒈活A(yù)編譯的IIS元數(shù)據(jù)庫(kù)路徑。IIS元數(shù)據(jù)庫(kù)的路徑是/LM/W3SVC/1/Root/應(yīng)用程序名。

v:使用需要預(yù)編譯Web應(yīng)用程序的虛擬IIS路徑。虛擬路徑的格式是:/應(yīng)用程序名。

p:使用需要預(yù)編譯Web應(yīng)用程序的物理IIS路徑。它是包括驅(qū)動(dòng)器名和指向應(yīng)用程序目錄的完整路徑。舉個(gè)例子c:inetpubwwwroot應(yīng)用程序名。v這個(gè)參數(shù)必須和p一起用,所以編譯器能夠解析任何應(yīng)用程序的根參考。

f:表示目標(biāo)目錄是否要被覆蓋。

u:用來(lái)設(shè)置預(yù)編譯完的應(yīng)用程序是可以更新的。這表示所有的標(biāo)記文件(ASPX、ASCX等等)都可以在目標(biāo)目錄里進(jìn)行更新。

targetDir:用于預(yù)編譯應(yīng)用程序文件的目標(biāo)目錄。下面的命令用虛擬路徑和指定的目標(biāo)路徑預(yù)編譯了一個(gè)應(yīng)用程序:aspnet_compiler.exe –v /應(yīng)用程序名 c:目標(biāo)目錄名。

如果沒(méi)有指定目標(biāo)目錄,那么結(jié)果文件會(huì)被放在ASP.NET的臨時(shí)文件目錄里,就像在ASP.NET運(yùn)行庫(kù)在***調(diào)用應(yīng)用程序的時(shí)候處理編譯一樣。臨時(shí)目錄默認(rèn)的路徑如下:

c:WindowsMicrosoft.NETFramework

v2.0.50727Temporary ASP.NET Files應(yīng)用程序名

預(yù)編譯另外一個(gè)好處是能夠捕捉在應(yīng)用程序啟動(dòng)階段發(fā)生的任何錯(cuò)誤。錯(cuò)誤會(huì)顯示在工具里,但是不會(huì)終止編譯過(guò)程。

以上是“ASP.NET如何預(yù)編譯Web應(yīng)用程序”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(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