執行 Windows Communication Foundation 範例
Windows Communication Foundation (WCF) 範例可以在單一機器中或跨機器組態執行。 這些範例可依提供現狀直接執行於單一機器上。 在跨機器組態中,就需要修改範例的組態檔設定。 下列程序會說明如何在相同機器與跨機器組態中執行此範例。 請注意,透過網際網路資訊服務 (IIS) 裝載與自我裝載範例中的服務步驟會有所變化。 大部分的範例都是以 IIS 進行裝載;請參閱範例讀我資訊以決定其裝載方式。
在 Windows Vista 上,未裝載於 IIS 中的範例需要較高的權限來向 Http.sys 註冊接聽程式。 請使用 Httpcfg.exe 以在其中執行服務的帳戶來註冊服務的接聽位址,或從使用系統管理員權限執行的命令提示字元來啟用服務。
注意
在建置或執行任何 WCF 範例之前,確定您已執行 Windows Communication Foundation 範例的一次性安裝程序。
若要在同一部機器上執行範例
如果服務是由 IIS 裝載,請輸入下列位址,以確認您能夠使用瀏覽器來存取服務:
http://localhost/servicemodelsamples/service.svc
。 確認頁面應該會顯示在回應中。 如果未顯示確認頁面,請參閱 WCF 範例的疑難排解提示。如果服務是自我裝載,請從語言特定資料夾中的 \service\bin 執行 Service.exe。 服務活動會顯示在服務主控台視窗上。
從語言特定資料夾下的 \client\bin\ 執行 Client.exe。 用戶端活動會顯示在用戶端主控台視窗上。
如果用戶端和服務無法通訊,請參閱 WCF 範例的疑難排解提示。
若要跨機器執行範例
如果服務是以 IIS 裝載:
在服務機器上,建立一個名稱為 ServiceModelSamples 的虛擬目錄。 Windows Communication Foundation 範例的一次性安裝程序所含的批次檔 Setupvroot.bat 可用來建立磁碟目錄和虛擬目錄。
將服務程式檔案從 %SystemDrive%\Inetpub\wwwroot\servicemodelsamples 複製到服務機器上的 ServiceModelSamples 虛擬目錄。 確定您有將這些檔案包含至 \bin 目錄中。
測試您是否能夠使用瀏覽器,從用戶端機器存取服務。
如果服務是自我裝載:
在服務機器上,建立可儲存這些服務檔案的目錄。
將語言特定資料夾下 \service\bin\ 資料夾中的服務程式檔複製到服務機器中。
在服務組態檔案中,將端點定義的位址值變更成符合服務的新位址。 以位址中的完整網域名稱取代 "localhost" 的任何參考。
從命令提示字元啟動 Service.exe。
將語言特定資料夾下 \client\bin\ 資料夾中的用戶端程式檔案複製到用戶端機器中。
設定端點位址。
如果服務不是使用網域帳戶執行,請開啟用戶端組態檔,並將端點定義的位址值變更成符合服務的新位址。 以位址中的完整網域名稱取代 "localhost" 的任何參考。
如果服務是使用網域帳戶執行,請針對服務執行 Svcutil.exe 以重新產生用戶端組態。 如需執行 Svcutil.exe 的詳細資訊,請參閱建置 Windows Communication Foundation 範例。 使用產生的檔案,而不要使用範例中的組態檔。 產生的組態檔還有其他身分識別資訊,而且包含連接至服務端點需要的所有設定 (即使是預設的設定)。 如需識別資訊的詳細資訊,請參閱服務識別與驗證和 <identity>。
在用戶端機器上,從命令提示字元啟動 Client.exe。
偵錯服務
使用 [建置] 功能表或 Ctrl+Shift+B 來建置解決方案 (用戶端與服務都適用)。
如果服務是以 IIS 裝載:
輸入位址
http://localhost/servicemodelsamples/service.svc
以使用瀏覽器啟用服務。在解決方案中,選擇 [偵錯] 功能表及 [附加至處理序] 功能表項目。
選取 [顯示所有使用者的處理序] 核取方塊。
選取主機背景工作處理序 W3wp.exe 來進行偵錯 (在 Windows XP 中選取 ASPNet_wp.exe)。
您現在可以在服務程式碼中設定中斷點,然後啟用發生例外狀況時的中斷點。
使用滑鼠右鍵按一下用戶端專案項目,然後依序選擇 [偵錯] 和 [開始新執行個體]。
若要在使用範例之後進行清除
- 如果因為考量安全性而以 IIS 裝載服務,則請在完成範例時,移除虛擬目錄定義以及在安裝步驟中所授與的權限。