Windows Communication Foundation (WCF) 範例可以在單一計算機或跨計算機組態中執行。 按照供應時的狀態,範例已準備好在單一計算機上執行。 在跨計算機組態中,必須修改範例的組態檔設定。 下列程序說明如何在相同計算機和跨計算機組態中執行範例。 請注意,在 Internet Information Services (IIS) 裝載的服務和自行裝載範例的步驟存在差異。 大部分範例都裝載在 IIS 中;請參閱範例自述文件資訊,以判斷其裝載方式。
在 Windows Vista 上,未裝載在 IIS 中的範例需要更高的許可權,才能向 Http.sys註冊接聽程式。 使用 Httpcfg.exe 將服務的監聽位址註冊到服務正在運行的帳戶中,或從以系統管理員身份運行的命令提示字元啟動服務。
備註
在建置或執行任何 WCF 範例之前,請確定您已針對 Windows Communication Foundation 範例執行One-Time 安裝程式。
在同一台電腦上運行範例
如果服務是由 IIS 裝載,請輸入下列位址,確定您可以使用瀏覽器存取服務:
http://localhost/servicemodelsamples/service.svc
。 應該在回應中顯示確認頁面。 如果未顯示確認頁面,請參閱 WCF 範例的疑難解答秘訣。如果服務是自行託管的,請從語言特定資料夾底下的 \service\bin 執行 Service.exe。 服務活動會顯示在服務控制台視窗上。
從語言特定的資料夾中的 \client\bin\ 執行 Client.exe。 用戶端活動會顯示在用戶端主控台視窗上。
如果客戶端和服務無法通訊,請參閱 WCF 範例 的疑難解答秘訣。
要在多台電腦上執行範例
如果服務裝載在 IIS 中:
在服務機器上,建立名為 ServiceModelSamples 的虛擬目錄。 Windows Communication Foundation 範例One-Time 安裝程式 隨附的批處理文件 Setupvroot.bat 可用來建立磁碟目錄和虛擬目錄。
將服務程式檔案從 %SystemDrive%\Inetpub\wwwroot\servicemodelsamples 複製到服務計算機上的 ServiceModelSamples 虛擬目錄。 請確定您將檔案包含在 \bin 目錄中。
測試您是否可以使用瀏覽器從用戶端電腦存取服務。
如果服務是自我託管的:
在服務機器上,建立目錄來保存服務檔案。
將服務程式檔案從 \service\bin\ 資料夾的 [語言特定資料夾] 底下,複製到服務計算機。
在服務組態檔中,變更端點定義的位址值,以符合您服務的新位址。 將任何對「localhost」的引用取代為位址中的完整域名。
請從命令提示符啟動 Service.exe。
將用戶端程式檔案從 \client\bin\ 資料夾的 [語言特定資料夾] 底下複製到用戶端電腦。
設定端點位址。
如果服務未在網域帳戶下執行,請開啟用戶端組態檔,並變更端點定義的位址值,以符合您服務的新位址。 將任何對「localhost」的引用取代為位址中的完整域名。
如果服務是在網域帳戶下執行,請對服務執行 Svcutil.exe 重新產生用戶端組態。 如需執行 Svcutil.exe的詳細資訊,請參閱 建置 Windows Communication Foundation 範例。 使用產生的檔案,而不是範例中的組態檔。 產生的組態檔有額外的身分識別資訊,並且包含連線到服務端點所需的所有設定,即使它們是預設設定。 如需身分識別資訊的詳細資訊,請參閱 服務身分識別和驗證,以及 <身分識別>。
在用戶端電腦上,從命令提示字元啟動 Client.exe。
偵錯服務
使用 [建置] 功能表或 Ctrl++ 來建置解決方案(用戶端和服務)。
如果服務裝載在 IIS 中:
輸入位址
http://localhost/servicemodelsamples/service.svc
以使用瀏覽器啟動服務。在方案中,選擇 [偵錯] 功能表和 [附加到程序] 功能表項。
選取 [ 顯示所有使用者的行程 ] 複選框。
選取要偵錯的宿主工作進程 W3wp.exe(在 Windows XP 上選取 ASPNet_wp.exe)。
您現在可以在服務程式代碼中設定斷點,並在例外狀況上啟用斷點。
以滑鼠右鍵按下用戶端專案,然後選擇 [偵錯]、[啟動新實例]。
在範例之後清除
- 如果服務裝載於 IIS 中,基於安全性考慮,請在完成範例時,移除設定步驟中授與的虛擬目錄定義和許可權。