您可以從命令行使用 Visual Studio IDE 或 msbuild 命令來建置 Windows Communication Foundation (WCF) 範例。 本文將說明這兩個程序。
備註
在建置或執行任何 WCF 範例之前,請確定您已針對 Windows Communication Foundation 範例執行One-Time 安裝程式。
使用命令提示字元建立範例
開啟 Visual Studio 的開發人員命令提示字元,並流覽至您安裝範例之目錄位置底下的語言特定子目錄。
在命令列中輸入
msbuild
。 用戶端程序檔會建置至 client\bin ,而服務程序檔則建置至 service\bin。 如果服務是由 Internet Information Services (IIS) 裝載,服務程式檔也會複製到 servicemodelsamples 目錄及其 \bin 子目錄。
備註
您必須在 %systemdrive%\inetpub\wwwroot 上設定 ACL,才能將修改許可權授與您執行所在的帳戶。 否則,建置後的某些事件會失敗。 或者,您可以保留 ACL,並以系統管理員身分執行 SDK 命令提示字元。
使用 Visual Studio 建置範例
從 Visual Studio 的 [ 檔案 ] 選單中,選取 [ 開啟>專案/方案]。 流覽至您安裝範例之目錄中的語言特定子目錄,然後按兩下 .sln 檔案圖示,以在Visual Studio中開啟方案。
從 [ 建置] 功能表中,選取 [重建方案]。
用戶端程序檔會建置至 client\bin,而服務程序檔則建置至 service\bin。 如果服務裝載於 IIS 中,服務程式檔也會複製到 servicemodelsamples 目錄及其 \bin 子目錄。
備註
您必須在 %systemdrive%\inetpub\wwwroot 上設定 ACL,才能將修改許可權授與您執行所在的帳戶。 否則,建置後的某些事件會失敗。 或者,您可以保留 ACL,然後以系統管理員身分執行 SDK 命令提示字元或 Visual Studio。 某些 Visual Studio 動作(例如將調試程式附加至 ASP.NET 背景工作進程),也需要系統管理許可權。
設定 Batch 檔案和腳本
Setup.exe 和 Cleanup.exe 批處理檔和腳本應該從 Visual Studio 的開發人員命令提示字元執行。 數個設定和清除檔案會執行需要系統管理許可權的工作,而且應該以系統管理員許可權啟動。
元數據端點的重要安全性資訊
為了避免意外洩漏潛在的敏感性服務元數據,Windows Communication Foundation (WCF) 服務的預設設定會停用元數據發佈。 此行為預設是安全的,但也表示您無法使用元數據匯入工具(例如 Svcutil.exe)來產生呼叫服務所需的用戶端程序代碼,除非服務元數據發佈行為在組態中明確啟用。 為了更輕鬆地試驗範例,幾乎所有範例都會公開不安全的元數據發佈端點。 這類端點可能可供匿名未經驗證的取用者使用,而且在部署這類端點之前必須小心,以確保公開披露服務的元數據是適當的。 如需發佈服務元數據的詳細資訊,請參閱 元數據發佈行為 範例。 如需保護元數據端點的範例,請參閱 自定義安全元數據端點 範例。
例外狀況處理
一般而言,這些範例不包含例外狀況處理,讓程式代碼著重於範例的主旨。 如需例外狀況處理的詳細資訊,請參閱 預期的例外狀況 範例。
使用 Svcutil 重新產生客戶端和設定
您可以使用 ServiceModel 元數據公用程式工具(Svcutil.exe) 來重新產生大部分範例的用戶端程式代碼和組態。 某些範例需要手動編輯的組態。 例如,如果您使用 Svcutil.exe 重新產生使用用戶端憑證認證的範例組態,則必須手動指定先前設定的認證。 某些範例會使用特定的 Svcutil.exe 選項來影響產生的程式代碼,這些選項是在特定的範例主題中指定。
重新產生客戶端和組態檔
開啟 SDK 命令提示字元,並流覽至您安裝範例之目錄位置底下的語言特定子目錄。
如果服務是 Web 裝載的類型,請使用下列命令。
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /out:generatedClient.cs
如果服務是自我託管類型,請輸入以下命令。
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /out:generatedClient.cs
將
http://localhost:8000/ServiceModelSamples/service.svc/mex
替換為自我裝載服務 mex 端點的位址。若要在 Visual Basic 類型中產生用戶端,請使用下列命令。
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
如果服務是自我托管類型,請使用下列命令。
svcutil.exe /n:"http://Microsoft.ServiceModel.Samples,Microsoft.ServiceModel.Samples" http://localhost:8000/servicemodelsamples/service.svc/mex /l:vb /out:generatedClient.vb
備註
若要略過用戶端組態的產生,請新增 /noConfig 選項。