Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
微软服务器与开发工具事业部 薛在岳
WCF测试客户端(WCF Test Client)是一个用来测试WCF服务程序的调试工具,能够使开发WCF服务更加方便。 本文主要讨论如何在Visual Studio中启用WCF测试客户端的相关技巧。
在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文件。
Comments
- Anonymous
February 05, 2012
这个客户端可以设置最大可以接收的数据吗?默认是65536,只有60k,能否设置大一点恩?