基本內容
WCF 測試客戶端 (WcfTestClient.exe)
.NET Framework 4
其他版本
1(共 1)對本文的評價是有幫助-評價此主題
當與 WCF 服務主機結合時,它可以提供完美的服務測試體驗。
在以下位置可以找到 WCF 測試客戶端 (WcfTestClient.exe):C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\
使用測試客戶端的方案
以下各節討論了使用 WCF 測試客戶端簡化開發流程的最常見方案。
VisualStudio內部
WCF 服務主機啟動 WCF 測試客戶端和一項服務
在創建新的 WCF 服務項目並按 F5 啟動調試器後,WCF 服務主機將開始承載項目中的服務。然後 WCF 測試客戶端將會打開,並顯示在配置檔案中定義的服務終結點列表。可以測試參數和調用服務,並可以重複此過程以繼續測試和驗證服務。
WCF 服務主機啟動 WCF 測試客戶端和多項服務
也可以使用 WCF 測試客戶端來幫助調試包含多項服務的服務項目。打開 WCF 測試客戶端時,它將自動循環訪問項目服務列表並打開這些服務進行測試。
VisualStudio外部
您還可以在 Visual Studio 外部調用 WCF 測試客戶端 (WcfTestClient.exe),以測試 Internet 上的任意服務。若要找到此工具,請轉到以下位置:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\
若要使用該工具,可以雙擊此檔案名稱從該位置打開它,也可以從命令行啟動它。
WCF 測試客戶端將任意數目的 URI 作為命令行參數。這些 URI 是可以測試的服務的 URI。
wcfTestClient.exe URI1 URI2 …
WCF 測試客戶端視窗打開後,單擊“檔案”->“添加服務”,然後輸入要打開的服務的終結點地址。
WCF測試客戶端用戶界面
可以將 WCF 測試客戶端用於一項或多項服務。
服務操作
WCF 測試客戶端主視窗的左窗格列出了所有可用的服務及其各自的終結點和操作。
雙擊某個操作後,可以在具有此操作名稱的新選項卡內的右窗格中查看其內容。
左窗格還列出了客戶端配置檔案。雙擊任何項可以在新選項卡式視窗內的右窗格中顯示檔案的內容。
輸入測試參數
若要查看測試參數,請雙擊某個操作以在右側窗格中打開它。默認情況下參數顯示在“已編排格式”視圖中,您可以為參數輸入任意值以測試服務。
若要查看訊息的 XML,請單擊“XML”。若要將它們傳送給服務,請單擊“調用”。
對於 DataSet 參數,請單擊“編輯…”旁的“…”以在顯示 DataGrid 的新視窗中編輯它。請注意“複製數據集”和“貼上數據集”按鈕。如果第一次編輯時 DataSet 對象的架構未知,則 DataGrid 為空。您必須將具有相同架構的 DataSet 對象貼上到 DataGrid 中的當前對象。(請注意,在貼上操作之前需要從其他位置複製架構。)您還可以通過單擊“複製數據集”按鈕複製 Dataset 對象以供將來使用。
服務回響將出現在測試參數下面。
如果在創建服務約定時將特定操作指定為單向操作,則不會顯示服務回響。訊息一旦處於排隊等待傳送狀態,則會彈出一個對話框,通知您已成功傳送訊息。
會話支持
使用服務操作的選項卡中的“啟動新的代理”複選框可以切換會話支持。默認情況下,該複選框是取消選中的。
如果未選中該複選框,則輸入某個特定操作(或同一服務終結點中的另一個操作)的測試參數並多次單擊“調用”後,這些操作將共用一個代理且服務狀態在多個操作中保持。
如果選中“啟動新的代理”複選框,則每次單擊“調用”都會啟動一個新的代理,前面的會話方案終止,服務狀態重置。
編輯客戶端配置
WCF 測試客戶端主視窗的左窗格列出了客戶端配置檔案。雙擊任何項可以在右窗格中顯示檔案的內容。
使用服務配置編輯器進行編輯
在左窗格中右擊“配置檔案”,然後選擇上下文選單“用 SvcConfigEditor 進行編輯”。服務配置編輯器啟動並顯示客戶端配置內容。可以編輯配置,然後將其保存在此工具中。
在服務配置編輯器中保存此檔案後,WCF 測試客戶端將顯示一條警告訊息,通知您該檔案已在外部修改,並詢問您是否要重新載入它。
如果選擇“是”,“Client.dll.config”選項卡中的配置內容將反映出您在此編輯器中所做的更改。
如果選擇“否”,“Client.dll.config”選項卡中的配置內容將保持不變,且已更改的內容將自動保存到源檔案中。
還原到默認配置
如果希望取消所有更改並還原到默認客戶端配置,請在左窗格中右擊“配置檔案”,然後選擇上下文選單“還原到默認配置”。這時將載入默認配置值,並還原“Client.dll.config”選項卡中的內容。
驗證更改
在 WCF 測試客戶端中載入已保存的更改時,會對照 WCF 架構檢查配置的有效性。如果發現錯誤,將顯示一個對話框來給出錯誤詳細信息。
在代理生成、二進制編譯或服務調用期間,支持編輯的選單項(即“編輯…”、“還原…”等等)被禁用。將更新後的配置載入到 WCF 測試客戶端時還將禁用服務調用。
使客戶端配置保持不變
“工具”->“選項”->“客戶端配置”選項卡中包含一個“在啟動服務時始終重新生成配置”選項,默認情況下,該選項處於啟用狀態。該選項指定每次 WCF 測試客戶端載入服務時,都會基於最新的服務協定和服務 App.config 檔案重新生成一個配置檔案。
如果您已編輯了 WCF 服務的客戶端配置,且希望始終使用這一更新後的檔案來調試您的服務,則可以取消選中“重新生成”選項。這樣,即使更新服務並重新打開 WCF 測試客戶端,Client.dll.config 檔案將是您先前更新過的配置檔案,而不是基於已更新的服務重新生成的檔案。
但是,您可能需要編輯此配置檔案以使其與重新生成的代理一致。如果由於更新了服務而導致重新生成的代理與配置檔案不匹配,則調用該服務時將出錯。
\Documents and Settings\[User Account]\My Documents\Test Client Projects。
任何存儲到客戶端配置檔案的已更新的憑據信息都是由此資料夾的訪問控制列表 (ACL) 保護的。
添加、刪除和刷新服務
添加服務
單擊“檔案”->“添加服務”將某個服務添加到 WCF 測試客戶端。然後您需要鍵入要添加的服務的 URI(終結點地址)。該服務的地址可以是 mex 地址,也可以是 WSDL 地址。
在“最新的服務”子選單中還可以找到最新添加的 10 個服務的終結點列表。如果選擇其中一個終結點,指定的服務就會添加到 WCF 測試客戶端。
右擊服務樹的根目錄“我的服務項目”,然後選擇“添加服務”也可以獲得相同的結果。
在代理生成、二進制編譯或服務調用期間,支持添加服務的選單項被禁用。服務調用也被禁用。
移除服務
右擊要移除的服務的服務根目錄,然後選擇“刪除服務”即可從 WCF 測試客戶端中移除服務。
在代理生成、二進制編譯或服務調用期間,支持刪除服務的選單項被禁用。服務調用也被禁用。
刷新服務
如果在 WCF 測試客戶端運行期間對服務進行了更改,且您希望確保該服務的 WCF 測試客戶端實現是最新的,請右擊該服務的服務根目錄,然後選擇“刷新服務”。請注意,刷新後服務狀態將重置。
在代理生成、二進制編譯或服務調用期間,支持刷新服務的選單項被禁用。服務調用也被禁用。
測試客戶端生成的檔案的位置
默認情況下,WCF 測試客戶端將生成的客戶端代碼和配置檔案存儲在“%appdata%\Local\temp\Test Client Projects”資料夾中。WCF 測試客戶端退出後,該資料夾隨即刪除。如果在 WCF 測試客戶端中修改了某個配置檔案,且禁用了“在啟動服務時始終重新生成配置”選項,則修改後的檔案將複製到“My Documents\Test Client Projects Documents\Test Client Projects”下的“Cached Config”資料夾中,並使用一個映射(從元數據地址到檔案名稱)XML 檔案作為索引。
也可以在命令行啟動 WCF 測試客戶端,使用/ProjectPath開關指定一個希望用於存儲生成的檔案的新路徑,或者使用/RestoreProjectPath開關還原默認位置。語法如下所示:
wcfTestClient.exe /ProjectPath [desired location]
運行此命令並不會打開 WCF 測試客戶端,而只會更改資料夾位置。無論 WCF 測試客戶端運行與否,都可以運行此命令。WCF 測試客戶端重新啟動時將套用新位置。位置信息可以保存在註冊表中,也可以保存在“%appdata%\Local\temp\Test Client Projects”資料夾的 WcfTestClient.exe.option 檔案中。
WCF測試客戶端支持的功能
下面是 WCF 測試客戶端支持的功能的列表:
服務調用:請求/回響和單向訊息。
綁定:Svcutil.exe 支持的所有綁定。
控制會話。
訊息協定。
XML 序列化。
下面是 WCF 測試客戶端不支持的功能的列表:
類型:Stream、Message、XmlElement、XmlAttribute、XmlNode、實現IXmlSerializable接口的類型(包括相關XmlSchemaProviderAttribute特性)、XDocument和XElement類型以及 ADO.NETDataTable類型。
雙工協定。
事務。
安全性:CardSpace、證書和用戶名/密碼。
綁定:WSFederationbinding、任何上下文綁定和 Https 綁定、WebHttpbinding(Json 回響訊息支持)。
關閉 WCF 測試客戶端
可以通過以下方式關閉 WCF 測試客戶端:
在“檔案”選單上單擊“退出”。或者,在 WCF 測試客戶端主視窗中單擊“關閉”。此外,這兩個操作還關閉 WCF 服務自動主機,如果 WCF 測試客戶端是由 Visual Studio 啟動的,則還會停止 Visual Studio 調試過程。
右擊通知區域中的“WCF 服務主機”圖示,然後單擊“退出”。這將關閉 WCF 服務自動主機和 WCF 測試客戶端並停止 Visual Studio 調試進程。