使用WCF测试客户端 z

http://blog.csdn.net/u013036274/article/details/50570989

【是什么】

       WCF测试客户端(WCF Test Client)是一个用来测试WCF服务程序的调试工具,能够使开发WCF服务更加方便。

【打开方法】

      有四种打开方式

1、找到Vs的安装路径,找到Common7\IDE\WcfTestClient.exe,双击打开。如图


2、在Visual Studio命令提示中输入“WcfTestClient”回车即可。

3、打开VS,项目--属性-调试,设置启动选项。如图


4、在解决方案中,将WCF设为启动项目,将.svc设为启动页,直接启动即可。

启动效果如图所示:


【怎么用】

       实现好服务和契约后,按ctrl+F5后就可以直接测试了。虽然我们没有编写客户端,但系统自动提供了一个WCFTestClient供测试使用:

界面如图。(注意右侧“起始页”上的提示,教我们基础操作)


1、服务操作

       WCF测试客户端主窗口的左窗格列出了所有可用的服务及其各自的终结点和操作(方法)。

      双击某个方法,可以在具有此方法名称的新选项卡内的右窗格中查看其内容。

    左窗格还列出了客户端配置文件。双击即可在对应的右窗格中显示文件的内容。

2、输入测试参数

      若要查看测试参数,请双击某项操作以在右窗格中打开它,可以根据具体情况输入任意参数值以测试服务。若要将他们发送给服务,请单击“调用”。此时下面就会显示出测试结果。如图

 

在Visual Studio之外打开WCF测试客户端有两种方法:第一种方法是到其所在路径(Visual Studio安装路径\Common7\IDE\WcfTestClient.exe)双击打开。第二种方法是在“Visual Studio命令提示(Visual Studio Command Prompt)”中输入“WcfTestClient”命令

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:

 

WCF Service Library

 

图2

 

    如果希望F5时,不启动WCF测试客户端,可以通过修改项目属性 -> 调试 -> 命令行参数来实现,如图3所示:

 

NoWCFTestClient

 

图3

 

WCF服务应用程序WCF工作流服务应用程序

 

    当在“解决方案资源管理器(Solution Explorer)”中,焦点选定在特定服务的.svc或.xamlx文件时,F5会启动WCF测试客户端。请看图4:

 

WAP

 

图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文件。

 

posted on 2017-02-08 17:35  武胜-阿伟  阅读(664)  评论(0编辑  收藏  举报