您好,登錄后才能下訂單哦!
小編給大家分享一下ASP.NET如何預編譯Web應用程序,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
ASP.NET 1.x的開發人員常常聽到用戶抱怨***調用應用程序的時候會碰到初始化延遲。畢竟,初次請求會引發一個系列過程,包括運行庫初始化、分析、把ASPX頁面編譯成中間語言、把方法即時編譯成本地代碼等等。
自從ASP.NET面市以來,開發人員一直都在要求(微軟)出臺一個解決辦法,而ASP.NET 2.0利用預編譯提供了一個有效的解決方案。
預編譯Web應用程序
在***啟動應用程序的時候,ASP.NET會動態地分析和編譯所有的ASP.NET文件(aspx頁面)。運行環境要對編譯的結果進行緩沖,以便更好地服務未來所有的請求。
在服務器重啟或者Web服務器重啟之后,***次啟動應用程序也意味著這一過程要重新開始。而且,對應用程序任何文件的改變都會被系統檢測到,而在文件發生改變之后***運行應用程序也會讓這一過程再次發生。
很多Web開發人員都很討厭這種初始化延遲。而預編譯通過(預先)編譯應用程序避免了這種延遲。
命令行
通過安裝在.NET框架2.0里的aspnet_compiler.exe程序就能夠啟動預編譯。它位于框架安裝目錄下(版本號會根據安裝的框架的版本而有所不同)。下面就是這個程序默認的路徑:
C:< windows base directory>Microsoft.NET
Frameworkv2.0.5072aspnet_compiler.exe
您可以用-?這個命令參數查看該程序的所有參數列表,下面我就解釋一下一些可用的參數:
m:這個參數表示您將使用完整的、應用程序將被預編譯的IIS元數據庫路徑。IIS元數據庫的路徑是/LM/W3SVC/1/Root/應用程序名。
v:使用需要預編譯Web應用程序的虛擬IIS路徑。虛擬路徑的格式是:/應用程序名。
p:使用需要預編譯Web應用程序的物理IIS路徑。它是包括驅動器名和指向應用程序目錄的完整路徑。舉個例子c:inetpubwwwroot應用程序名。v這個參數必須和p一起用,所以編譯器能夠解析任何應用程序的根參考。
f:表示目標目錄是否要被覆蓋。
u:用來設置預編譯完的應用程序是可以更新的。這表示所有的標記文件(ASPX、ASCX等等)都可以在目標目錄里進行更新。
targetDir:用于預編譯應用程序文件的目標目錄。下面的命令用虛擬路徑和指定的目標路徑預編譯了一個應用程序:aspnet_compiler.exe –v /應用程序名 c:目標目錄名。
如果沒有指定目標目錄,那么結果文件會被放在ASP.NET的臨時文件目錄里,就像在ASP.NET運行庫在***調用應用程序的時候處理編譯一樣。臨時目錄默認的路徑如下:
c:WindowsMicrosoft.NETFramework
v2.0.50727Temporary ASP.NET Files應用程序名
預編譯另外一個好處是能夠捕捉在應用程序啟動階段發生的任何錯誤。錯誤會顯示在工具里,但是不會終止編譯過程。
以上是“ASP.NET如何預編譯Web應用程序”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。