使用 Xcopy 部署部署 ASP.NET Web 應用程式

本文說明如何使用 MS-DOS Xcopy 命令來部署 Microsoft ASP.NET Web 應用程式。

原始產品版本: ASP.NET
原始 KB 編號: 326355

摘要

Xcopy 樣式部署不適用於所有情況。 針對大型網站和企業營運應用程式,建議暫時讓網站脫機。 您想要在新內容和應用程式元件部署時執行此動作。 您可以在方便且排程的時間進行這項維護。 若要將排定的停機時間降至最低,請遵循下列步驟:

  1. 為您想要更新的應用程式建立新的實體目錄。 將所有新內容複製到新的實體目錄。

  2. 重新設定應用程式的虛擬目錄,以指向具有新內容的新實體目錄。

    注意事項

    當您將新內容部署至 ASP.NET Web 應用程式時,應用程式可能會重新啟動。 如果您有大型應用程式和具有大量記憶體需求的複雜應用程式,可能會增加記憶體耗用量。 當您重新啟動應用程式時,可能會發生支持性問題。 這包括遺失用戶會話狀態。

什麼是 Xcopy 部署

Xcopy 部署描述 ASP.NET 中的部署,您會在其中使用 Microsoft Windows 檔案總管中的拖放功能、文件傳輸通訊協定 (FTP) ,或 DOS Xcopy 命令將檔案從某個位置複製到另一個位置。 ASP.NET 應用程式不需要修改登錄,而且主機公司在裝載的網站上沒有特殊安裝需求。

Xcopy 部署的優點

Xcopy 樣式檔傳輸可簡化部署和維護 ASP.NET 月臺,因為您沒有建立登錄專案,而且您未註冊任何元件。 Microsoft .NET 應用程式是自我描述的,通常沒有相依性。 使用元件版本設定,您甚至可以複製動態連結庫的新複本, (應用程式使用的 DLL) ,而不需要停止 Web 伺服器。

Visual Studio .NET 中的 Xcopy 部署和複製專案之間的差異

Xcopy 部署不需要您在開發電腦或網頁伺服器上安裝任何特殊軟體。 Visual Studio .NET 複製專案方法需要您在遠端伺服器上安裝 Microsoft FrontPage Server Extensions (FPSE) 。 Xcopy 也可讓您只取代最近編輯過的檔案。 您可以手動選取要取代的檔案,也可以在命令上Xcopy使用 /d 參數來指定日期,如下所示:

xcopy source [destination] /D:m-d-y

將虛擬目錄設定為 IIS 應用程式

如果您尚未設定目的地目錄,則必須先將它設定為 Microsoft Internet Information Services (IIS) 中的應用程式,才能傳輸檔案。 若要設定虛擬目錄,請遵循下列步驟:

  1. 按兩下 [開始],指向 [ 程式],指向 [ 系統管理工具],然後按兩下 [ 因特網服務管理員]
  2. 在左窗格中,以滑鼠右鍵按兩下虛擬目錄的名稱,然後按下 [ 屬性]
  3. 請確定 [應用程式設定] 下的 [應用程式名稱 ] 方塊 中已列出網站名稱或虛擬目錄 名稱。 如果不是,請按兩下 [ 建立]

疑難排解

在某些情況下,您無法單獨透過 Xcopy 檔案傳輸來完成 ASP.NET Web 應用程式的部署。 這些案例包括下列情況:

  • 需要您安裝在全域程式集緩存 (GAC) 中的元件。 如果您必須共用 ASP.NET 跨多個應用程式域使用的任何元件,則必須使用 Gacutil.exe 公用程式將這些元件註冊到 GAC。 每次部署應用程式時,您都必須取消註冊、取代,然後重新註冊元件。

  • 元件物件模型 (COM) Interop。 如果 ASP.NET 應用程式透過 COM Interop 使用任何 COM 元件,您必須向 COM+ 服務註冊這些 COM 元件。

  • 服務元件。 Microsoft 建議您使用 Regsvcs.exe 公用程式來註冊任何使用 COM+ 服務的類別, (這些類別衍生自 System.EnterpriseServices.ServicedComponent 類別) 。

參考資料