ASP.NET 2.0中WEB應用程序的部署(2)
發表于:2007-06-30來源:作者:點擊數:
標簽:
使用Visual Studio的Precompilation預編譯部署 ASP .net 2.0中的一大新特性,是采用了動態編譯,使到可以在編輯或者保存修改后的網頁后,直接在瀏覽器中訪問,而不需要再次編譯,但這有個缺點,編譯過程將導致第一次請求 ASP.NET 頁面時的響應速度比后續請求
使用Visual Studio的Precompilation預編譯部署
ASP
.net 2.0中的一大新特性,是采用了動態編譯,使到可以在編輯或者保存修改后的網頁后,直接在瀏覽器中訪問,而不需要再次編譯,但這有個缺點,編譯過程將導致第一次請求 ASP.NET 頁面時的響應速度比后續請求慢,而在ASP.NET 2.0中,另外提供了預編譯的功能(Precompiling),使用該功能,可以立即將結果顯示給第一個用戶,并且可以在批編譯過程中檢測到 ASPX 頁面中的任何錯誤。但是,批編譯確實會延長應用程序的啟動時間,而且必須內置在 Web.config 文件中。
而ASP.NET 2.0的預編譯,又分為兩種,第一種是In-place編譯,該編譯只需要在瀏覽器中輸入http://站點名稱/WebApp名稱/PreCompile.axd,系統就會將WebApp里面所有的頁面先給編譯一遍,運行后如下圖:
在ASP.NET 2.0中,提供一種更新的編譯部署方式,叫Precompilation deployment(部署預編譯)。Net Framework 2.0提供了一個命令行的工具(aspnet_compiler.exe),可以將WebApp中所有的代碼、頁面(包括HTML)、靜態文件全部編譯進dll,然后進行部署,得到的目標系統中,只包含編譯后的dll,甚至連HTML頁面文件都是不存在的,大大增強了系統的
安全行,但是瀏覽起來和普通的ASP.NET 應用沒有任何區別。使用方法如下:
aspnet_compiler.exe一般在WINNT目錄下的.net framework 2.0子目錄下可以找到,使用格式為:
aspnet_compiler -v /<websitename> -p <source> <destination>
其中,websitename為你要部署的web應用程序的虛擬目錄名,<source>為你要部署的web應用程序的物理路徑,〈destination>為即將部署的應用程序的目標物理路徑,比如:
aspnet_compiler -v /Deployment
-p c:\inetpub\wwwroot\myprojects\Developer\deployment c:\compiled
則所有的文件都會被部署預編譯到c盤的compiled目錄下,而且該目錄下,你會發現沒有任何的代碼文件和HTML文件了。
小結
本文簡單介紹了在ASP.NET 2.0中,提供的三種對WEB應用程序進行部署的方式,并介紹了它們各自的特點。而對于.net 2.0中的更深入的討論部署安裝的問題,請參考MSDN。
原文轉自:http://www.kjueaiud.com