ASP.NET 2.0部署WEB應用程序淺析
在我們建立完一個WEB應用程序后,我們就要考慮如何進行ASP.NET 2.0部署WEB應用程序。一般情況下,盡可能將安裝簡單化,以使用戶有非常好的用戶體驗。但有的情況下,可能對安裝程序的要求比較高,比如有時要將一些安裝配置信息寫到注冊表中去。而對于一個WEB應用程序,該如何安裝部署呢?這和安裝部署一個普通的WINFORM下的應用程序有些不同。以往,對于WEB應用程序的安裝部署總是十分困難的,但自從ASP.NET 1.1起,直到現在出現的ASP.NET 2.0,安裝部署WEB應用程序將變得十分簡單方便。本文將著重介紹在ASP.NET 2.0下,如何使用visual studio .net express beta/visual studio 2005,對WEB應用程序進行安裝部署。
首先,我們看下,WEB應用程序一般包括什么。一個WEB應用程序,一般包括有WEB頁面(.aspx文件和HTML文件),各類配置文件(如web.config),各類相關的資源文件,還有各類包括業務核心代碼的源代碼文件,這些文件一般會放在WEB服務器的一個虛擬目錄下。由于ASP.NET是采用編譯架構的,因此還包括編譯后的各類DLL文件,這些DLL文件放在BIN目錄下。對于部署WEB應用程序,在.NET 2.0中,可以采用以下的幾種方法來進行ASP.NET 2.0部署WEB應用程序:
1、使用XCOPY部署
2、使用Visual studio的Copy Web Site功能部署
3、使用visual studio的Precompilation預編譯部署
下面對上述的三種方法分別予以介紹:
使用XCOPY部署
首先,我們先使用visual studio express 建立一個WEB SITE,選擇VB.NET或者C#,之后建立一個名為deployment的應用。在這個應用中,由于我們的目的是著重安裝部署,所以可以隨便拉一個按鈕,然后在這按鈕的onclick事件中,寫入一些屏幕輸出之類的語句就可以了。
當編譯該程序后,我們開始使用XCOPY來部署應用程序。 XCOPY是.NET在應用程序的部署方面的最簡單方法。XCOPY簡單地將你的WEB應用程序的所有文件拷貝到目的服務器的指定路徑下完成ASP.NET 2.0部署WEB應用程序,比如,使用命令如下:
xcopy d:intetpubwwwrootmyprojectsdeveloperdeployment c: emp /e /k /r /o /h /I
執行后,會將當前的應用deployment的所有文件拷貝到c盤的TEMP目錄中去,之后,在IIS中創建虛擬目錄,指向該目錄就可以了。關于XCOPY的使用方法,請參考具體的相關命令幫助。
使用Visual studio的Copy Web Site功能部署
Visual studio的Copy Web Site功能,可以很方便地讓我們進行WEB應用程序的部署和安裝。使用該功能,可以將WEB工程復制到同一服務器或者其他服務器上,或者FTP上。但要注意的時,使用該功能時,僅僅是將文件復制到目的路徑中去,并不執行任何的編譯操作。
在Visual studio express 中,選擇web-site菜單中的copy web site,將出現下面的對話框:
其中,左邊部分是源文件的路徑(source web sites),右邊部分是你將要部署的目的路徑。留意一下右邊的MOVE FILES下的下拉選擇框,里面提供了三種文件的復制方式供你選擇:
1、All source Web files to remote Web site(所有的WEB文件復制到遠程的WEB站點中)
2、All remote Web files to source Web site(所有的遠程WEB站點文件復制到本地站點)
3、Synchronize source and remote Web sites(同步本地WEB站點和遠程WEB站點的文件)。
在使用時,先點擊CONNECTING TO…旁邊的小圖標,彈出的對話框:
這里可以選擇將你本地的WEB應用程序復制到什么地方,比如是選擇FILE SYSTEM(本地文件系統),LOCAL IIS(本地的IIS服務器),FTP站點,或者是遠程站點。在選擇好目的路徑后,就可以點選"COPY WEB SITE"按鈕,系統會自動將應用系統的文件復制到目的路徑中去,并顯示復制后的日志記錄。
使用Visual Studio的Precompilation預編譯部署
ASP.NET 2.0中的一大新特性,是采用了動態編譯,使到可以在編輯或者保存修改后的網頁后,直接在瀏覽器中訪問,而不需要再次編譯,但這有個缺點,編譯過程將導致第一次請求 ASP.NET 頁面時的響應速度比后續請求慢,而在ASP.NET 2.0中,另外提供了預編譯的功能(Precompiling),使用該功能,可以立即將結果顯示給第一個用戶,并且可以在批編譯過程中檢測到 ASPX 頁面中的任何錯誤。但是,批編譯確實會延長應用程序的啟動時間,而且必須內置在 web.config 文件中。
【編輯推薦】