共用方式為


Windows Communication Foundation 範例的單次安裝程序

大部分的 Windows Communication Foundation (WCF) 樣本都是裝載在 Internet Information Services (IIS) 中,並且從共用虛擬目錄執行。 這個一次性安裝程序會在磁碟上建立資料夾,也會將名為 ServiceModelSamples 的虛擬目錄加入至 IIS。

ServiceModelSamples 虛擬目錄會用在組建及執行所有使用裝載於 IIS 之服務的範例。 這是執行範例時唯一必要的虛擬目錄。 建立範例將會取代此虛擬目錄中所有先前部署的服務;此虛擬目錄中只會部屬並提供最近建立的範例。

注意

  • 您必須在本機系統管理員帳戶下執行所有的命令。 如果使用 Windows 7、Windows Vista 或 Windows Server 2008 R2,也必須使用更高的權限來執行命令提示字元。 如果要執行這項操作,請以右鍵按一下命令提示字元圖示,然後按一下 [以系統管理員身分執行]。
  • 本文中的所有命令都必須在擁有適當路徑設定的命令提示字元下執行。 如要確保符合此條件,最簡單的方式為使用 Visual Studio 的開發人員命令提示字元

WCF 範例的單次安裝程序

  1. 請確定已安裝 ASP.NET。 如需 ASP.NET 設定方式的詳細資訊,請參閱 Internet Information Service 裝載指示

  2. 請確定已安裝 .NET Framework 4+。 然後,在下列目錄中搜尋 v4.0 (或更新版本):\Windows\Microsoft.NET\Framework

  3. 請確定已安裝 Visual Studio 2012 或更新版本,或者您的作業系統是 Windows Server 2008 SP2 或更新版本。

  4. 執行下列 命令。 如需為什麼必須執行這些命令的詳細資訊,請參閱 IIS 裝載服務失敗

    警告

    如果您重新安裝了 IIS,就必須再次執行下列命令。

    "%WINDIR%\Microsoft.Net\Framework\v4.0.30319\aspnet_regiis" –i –enable
    "%WINDIR%\Microsoft.Net\Framework\v4.0.30319\ServiceModelReg.exe" -r
    

    警告

    執行 aspnet_regiis –i –enable 命令將會執行採用 .NET Framework 4 的預設應用程式集區,這可能會對相同電腦上的其他應用程式產生不相容的問題。

  5. 請依照防火牆指示,啟用樣本使用的通訊埠。

  6. 執行 Setupvroot.bat 批次檔。 系統會執行下列步驟:

    • 在 IIS 中建立名為 ServiceModelSamples 的虛擬目錄。

    • 建立名為 %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples 和 %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples\bin 的新磁碟目錄。

    如果想要手動設定這些目錄,請參閱虛擬目錄安裝指示。 若要還原此步驟中完成的所有變更,請在樣本使用完畢之後執行 cleanupvroot.bat

    注意

    除非執行 cleanupvroot.bat,否則只要在電腦上執行這個程序一次即可。

  7. 您必須將修改 %SystemDrive%\inetpub\wwwroot 的權限,授與您要用來建置範例和 Network Service 使用者的帳戶。 在建立時,有些 Web 裝載的範例可能會嘗試將編譯後的二進位複製到先前所述的位置,如果您沒有設定適當的權限,建立就會中斷。 或者,可以不改變權限,以系統管理員身分執行 SDK 命令提示字元或 Visual Studio 命令提示字元 (2012),或在以系統管理員身分執行的 Visual Studio 2012 中建置樣本。

    注意

    如果沒有完成這個步驟,所有 IIS 裝載的範例都會在建立時失敗。 請確定權限的設定正確,或以系統管理員身分同時執行 SDK 命令提示字元和 Visual Studio 命令提示字元。

  8. 請在電腦上建立 C:\logs 目錄,某些樣本可能會需要這個目錄。 請確認適當的帳戶已經將寫入權限授與此資料夾。 若是 Windows 7、Windows Vista 和 Windows Server 2008 R2,帳戶為 Network Service。 若是 Windows Server 2008,帳戶是 NT Authority\Network Service。 若是 Windows XP 和 Windows Server 2003,帳戶為 ASPNET。

  9. 執行 Setupcerttool.bat 檔案。 指令碼會執行下列工作:

    • 建立 FindPrivateKey 工具

    • 建立名為 %ProgramFiles%\ServiceModelSampleTools 的目錄。

    • 將新的 FindPrivateKey 工具複製到此目錄。

    使用憑證且裝載在 IIS 中的範例需要這項工具。

    注意

    基於安全性考量,在您完成樣本後,請記得執行名為 cleanupvroot.bat 的批次檔,移除虛擬目錄定義以及在上述安裝步驟中授與的權限。

  10. 自我裝載 (而非裝載於 IIS) 的範例必須有權限將 HTTP 位址註冊到電腦上,以便進行接聽。 HTTP 命名空間保留區的權限來自用以執行範例的使用者帳戶。 根據預設,系統管理員帳戶擁有註冊任何 HTTP 位址的權限。 至於非系統管理員帳戶,則必須具有範例所用之 HTTP 命名空間的權限。 如需如何設定命名空間保留的詳細資訊,請參閱設定 HTTP 和 HTTPS

  11. 有些範例需要訊息佇列。 如需安裝指示,請參閱安裝訊息佇列 (MSMQ)

    注意

    請務必在您執行需要訊息佇列的任何範例之前,啟動 MSMQ 服務。

  12. 有些範例需要憑證。 請參閱 Internet Information Services (IIS) 伺服器憑證安裝指示