如何部署一個ASP.NET的頁面?

來源:互聯網
上載者:User

原文來自:http://hi.baidu.com/%CF%F4%CF%F4gd/blog/item/6dc88d0f6f178c326a60fb0c.html

這是本人碰到過的一個筆試題目,寫的時候不怎麼清楚明白,呵呵。學習一下了

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的使用方法,請參考具體的相關命令協助。


圖1

使用Visual studio的Copy Web Site功能部署

Visual studio的Copy Web Site功能,可以很方便地讓我們進行WEB應用程式的部署和安裝。使用該功能,可以將WEB工程複製到同一伺服器或者其他伺服器上,或者FTP上。但要 注意的時,使用該功能時,僅僅是將檔案複製到目的路徑中去,並不執行任何的編譯操作。
在Visual studio express 中,選擇web-site菜單中的copy web site,將出現下面的對話方塊:


圖2

其中,左邊部分是源檔案的路徑(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…旁邊的小表徵圖,彈出的對話方塊如:


圖3


這裡可以選擇將你本地的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裡面所有的頁面先給編譯一遍,運行後如:


圖4

在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檔案了。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.