大部分的 Windows Communication Foundation (WCF) 範例都裝載在 Internet Information Services (IIS) 中,並從通用虛擬目錄執行。 此一次性安裝程式會在磁碟上建立資料夾;它也會將虛擬目錄新增至名為 ServiceModelSamples 的 IIS。
ServiceModelSamples 虛擬目錄可用來建置和執行使用 IIS 裝載服務的所有範例。 這是執行範例所需的唯一虛擬目錄。 建置範例將會取代此虛擬目錄上任何先前部署的服務;只會在此虛擬目錄中部署及提供最近建置的範例。
備註
- 您必須在本機系統管理員帳戶下執行所有命令。 如果您使用 Windows 7、Windows Vista 或 Windows Server 2008 R2,您也必須以更高的許可權執行命令提示字元。 若要這樣做,請以滑鼠右鍵按下命令提示字元圖示,然後按兩下 [ 以系統管理員身分執行]。
- 本文中的所有命令都必須在具有適當路徑設定的命令提示字元中執行。 最簡單的方式來確保這一點是使用 Visual Studio 開發人員命令提示字元。
WCF 範例的一次性設定程序
確保已設定 ASP.NET。 如需如何設定 ASP.NET 的詳細資訊,請參閱 Internet Information Service Hosting Instructions。
確定已安裝 .NET Framework 4+ 。 搜尋下列目錄以尋找 v4.0 (或更新版本): \Windows\Microsoft.NET\Framework
請確定您已安裝 Visual Studio 2012 或更新版本,或您的作系統是 Windows Server 2008 SP2 或更新版本。
執行下列命令。 如需為何必須執行這些命令的詳細資訊,請參閱 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 執行預設應用程式集區,這可能會對同一部計算機上的其他應用程式產生不相容問題。請遵循 防火牆指示 來啟用範例所使用的埠。
執行 Setupvroot.bat 批處理檔。 執行以下步驟:
虛擬目錄會在名為 ServiceModelSamples 的 IIS 中建立。
系統會建立名為 %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples 和 %SystemDrive%\Inetpub\wwwroot\ServiceModelSamples\bin 的新磁碟目錄。
如果您想要手動設定這些目錄,請參閱 虛擬目錄設定指示。 若要還原此步驟中完成的所有變更,請在完成範例之後執行 cleanupvroot.bat 。
備註
除非您執行 cleanupvroot.bat,否則此程式只能在計算機上執行一次。
您必須將許可權授與修改 %SystemDrive%\inetpub\wwwroot 的許可權給您要建置範例和網路服務使用者的帳戶。 建置時,某些 Web 裝載的範例可能會嘗試將編譯的二進位檔複製到先前提及的位置,如果您尚未設定適當的許可權,組建將會中斷。 或者,您可以保留許可權,並以系統管理員身分執行 SDK 命令提示字元或 Visual Studio 命令提示字元 (2012),或在 Visual Studio 2012 中建置範例,也可以以系統管理員身分執行。
備註
如果未完成此步驟,則所有 IIS 裝載的範例在建置時都會失敗。 請確定您已正確設定許可權,或以系統管理員身分執行 SDK 命令提示字元和 Visual Studio 命令提示字元。
在電腦上建立 C:\logs 目錄,因為某些範例可能需要該目錄。 請確定適當的帳戶具有授與此資料夾的寫入許可權。 針對 Windows 7、Windows Vista 和 Windows Server 2008 R2,此帳戶為 網路服務。 針對 Windows Server 2008,帳戶為 NT Authority\Network Service。 針對 Windows XP 和 Windows Server 2003,帳戶為 ASPNET。
執行 Setupcerttool.bat 檔案。 此文稿會執行下列工作:
建立名為 %ProgramFiles%\ServiceModelSampleTools 的目錄。
將新的 FindPrivateKey 工具複製到這個目錄。
使用憑證且裝載於 IIS 中的範例需要此工具。
備註
基於安全性考慮,請記得在完成範例之後執行名為 cleanupvroot.bat 的批處理檔,以移除上述設定步驟中授與的虛擬目錄定義和許可權。
自我裝載的範例(未裝載在 IIS 中)需要許可權,才能在計算機上註冊 HTTP 位址以進行接聽。 HTTP 命名空間保留的許可權來自用來執行範例的用戶帳戶。 根據預設,系統管理員帳戶具有註冊任何 HTTP 位址的許可權。 非系統管理員帳戶必須授與範例所使用的 HTTP 命名空間許可權。 如需如何設定命名空間保留的詳細資訊,請參閱 設定 HTTP 和 HTTPS。
某些範例需要消息佇列。 如需安裝指示,請參閱安裝消息佇列 (MSMQ)。
備註
請確定您先啟動 MSMQ 服務,再執行任何需要消息佇列的範例。
某些範例需要憑證。 請參閱 Internet Information Services (IIS) 伺服器證書安裝指示。