ASP.NET2.0中WEB應用程式的部署

來源:互聯網
上載者:User
在我們建立完一個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中,可以採用以下的幾種方法:
  
  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應用程式的所有檔案拷貝到目的伺服器的指定路徑下,比如,使用命令 如下:
  xcopy d:\intetpub\wwwroot\myprojects\developer\deployment c:\temp /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 檔案中。
  
   而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。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.