zoukankan      html  css  js  c++  java
  • [转]启用WCF测试客户端(WCF Test Client)的相关技巧

     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所示:

    CMD

    图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:

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

  • 相关阅读:
    appium连接真机时,报错:error: device unauthorized.
    python使用163邮箱发送测试报告遇到smtplib.SMTPAuthenticationError: (550, b'User has no permission')问题
    logging日志重复打印问题
    python实现text/html的get请求
    python实现Post请求四种请求体
    selenium异常类
    unittest所有断言方法
    windows下Jenkins+webdriver无法启动浏览器
    python3+selenium3之 解决:'chromedriver' executable needs to be in PATH问题
    python学习(6)--logging打印日志
  • 原文地址:https://www.cnblogs.com/a311300/p/1797886.html
Copyright © 2011-2022 走看看