在Visual Studio之外打開WCF測試客戶端有兩種方法:第一種方法是到其所在路徑(Visual Studio安裝路徑\Common7\IDE\WcfTestClient.exe)雙擊打開。第二種方法是在“Visual Studio命令提示(Visual Studio Command Prompt)”中輸入“WcfTestClient”命令,如圖1所示:
圖1
Visual Studio不同的項目模板,提供了不同的WCF測試客戶端啟動方法。下面這張表格是Visual Studio 2010 Beta2中,與WCF相關的項目模板:
項目模板名稱 |
模板位置 |
.NET Framework版本 |
WCF服務庫 |
新建項目 -> WCF結點 |
3.0/3.5/4.0 |
WCF服務應用程序 |
新建項目 -> Web結點 |
3.0/3.5/4.0 |
WCF工作流服務應用程序 |
新建項目 -> WCF結點 |
4.0 |
WF順序服務 |
新建項目 -> WCF結點 |
3.5 |
WF狀態機服務 |
新建項目 -> WCF結點 |
3.5 |
聯合服務庫 |
新建項目 -> WCF結點 |
3.5/4.0 |
WCF服務 |
新建網站 |
3.0/3.5/4.0 |
表1
WCF服務庫、WF順序服務、WF狀態機服務:
啟用調試(F5)默認會啟動WCF服務主機(WCF Service Host)托管項目中的服務,並且會自動啟用WCF測試客戶端,請看圖2:
圖2
如果希望F5時,不啟動WCF測試客戶端,可以通過修改項目屬性 -> 調試 -> 命令行參數來實現,如圖3所示:
圖3
WCF服務應用程序、WCF工作流服務應用程序:
當在“解決方案資源管理器(Solution Explorer)”中,焦點選定在特定服務的.svc或.xamlx文件時,F5會啟動WCF測試客戶端。請看圖4:
圖4
如果希望F5時始終啟動IE,可以在.csproj.user文件里增加EnableWcfTestClientForSVC屬性配置以禁用WCF測試客戶端:
<Project>
<ProjectExtensions>
<VisualStudio>
<FlavorProperties>
<WebProjectProperties>
<EnableWcfTestClientForSVC>False</EnableWcfTestClientForSVC>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
</Project>
另外,在.csproj文件里還有EnableWcfTestClientForSVC屬性的默認值設置。如果.csproj.user文件沒有該屬性的相關設置,則該屬性則使用.csproj文件里默認值:
<Project>
<ProjectExtensions>
<VisualStudio>
<FlavorProperties>
<WebProjectProperties>
<EnableWcfTestClientForSVCDefaultValue>False</EnableWcfTestClientForSVCDefaultValue>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
</Project>
下表是.csproj.user和.csproj文件相關屬性的設置和啟動客戶端類型的邏輯關系:
.csproj.user 文件設置 |
True |
False |
未設 |
未設 |
未設 |
.csproj 文件設置 |
True/False/未設 |
True/False/未設 |
True |
False |
未設 |
啟動 客戶端類型 |
WCF測試客戶端 |
IE |
WCF測試客戶端 |
IE |
IE |
表2
例如,在一個利用源代碼控制的項目組中,.csproj.user文件不會被共享,而.csproj文件會被共享。如果只希望改變個人的WCF測試客戶端的啟動行為,則應該修改.csproj.user文件;如果希望改變開發這個項目的所有人的啟動行為,則應修改.csproj文件。
聯合服務庫:
WCF測試客戶端並不能對這種服務項目進行測試,所以F5時並不會自動啟動WCF測試客戶端。
WCF服務(網站):
F5時不會自動啟動WCF測試客戶端。如果希望獲得和WCF服務應用程序相同的啟動行為,可以修改C:\Users\<username>\AppData\Local\Microsoft\WebsiteCache\websites.xml文件(XP/2003系統中文件在相似位置):
<DesignTimeData>
<Website RootUrl="C:\" CacheFolder="WCFService1"EnableWcfTestClientForSVC="true"/>
</DesignTimeData>
注意在修改websites.xml文件之前請先關閉Visual Studio,否則Visual Studio關閉時會重寫覆蓋websites.xml文件。