WCF测试客户端(WCF Test Client)

来源:互联网 发布:共享办公软件 编辑:程序博客网 时间:2024/05/31 06:23


WCF开发工具

大家都听说WCF 是很酷的.net技术,可是如何迈出激动人心的WCF服务开发的第一步呢?大家也都知道,开发一个服务,并不只是完成服务本身的功能,还要写主机程序来运行服务,写客户端程序来测试服务,如果能够只专注于开发服务本身,是不是更棒?

我们团队在Visual Studio 2008中开发了一系列的工具,帮助用户提升WCF服务的开发体验,同时也使得初学者的入门更为容易。想象一下,创建一个简单的WCF服务,创建一个主机运行它,并且创建了一个测试客户端来调试它,这些都可以在一分钟内完成!以下是对这一全新体验的简单描述:

1.启动Visual Studio 2008

2.用Visual Basic或者Visual C#创建一个新的WCF Service Library

3.F5!

4.WCF服务主机WCF测试客户端自动完成服务的运行和承载

5.选择服务节点,开始调用服务进行调试

下面是对这些工具的进一步介绍:

1

WCF服务主机

在WCF服务项目中包含一个或多个服务,这个工具为每个有效的WCF服务创建主机,从而运行这些服务。

WCF服务主机支持的服务类型包括由WCF Service Library, Sequential Workflow Service Library, State Machine Workflow Service Library and Syndication Service Library等VS2008服务模板创建的服务。

当服务在这个工具中运行时,可以查看它们的详细信息。

2

WCF测试客户端

顾名思义,这个工具就是一个用来测试服务的客户端。它可以显示待调试服务合同和配置信息,并且可以随着服务端的更新也在每次启动时自动更新。WCF测试客户端集成在Visual Studio 2008中,当用户通过F5调试由WCF服务模板创建的服务时,WCF服务主机和WCF服务客户端都会自动被调用运行。

WCF测试客户端支持的服务类型包括服务主机支持的服务类型包括由WCF Service Library, Sequential Workflow Service Library和State Machine Workflow Service Library等VS2008服务模板创建的服务。

3




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



WCF服务模板

这些模板可以帮助用户对WCF和.Net3.5的相关技术快速入门。所有这些模板都可以支持两种语言:VB和C#。

技术领域

项目模板

子项目模板

一般WCF 技术

WCF Service Library

WCF Service

WCF Service Application (Web Application)

WCF Service  (Web Application)

WCF Service (Website)

WCF Service (Website)

.Net framework 3.5 Workflow 服务技术

Sequential Workflow Service Library

WF Sequential Service /

XAML WF Sequential Service

State Machine Workflow Service Library

WF State Machine Service / XAML WF State Machine Service

.Net framework 3.5 Syndication 服务技术

Syndication Service Library

--

.Net framework 3.5 Ajax 技术

--

Ajax-enabled WCF Service (Both Web Application and Website)

添加服务引用和Auto-attaching

当用户需要创建自己的服务端程序时,使用添加服务引用技术可以自动生成这些服务对应的基本的客户端代码。

而使用Auto-attaching技术,可以使得用户从客户端程序到服务端程序的F5调试变得和在同一进程中调试一样简单。

WCF IT Pro 工具:

很多人应该多听说过或者使用过WCF IT Pro工具,因为这些工具的第一版是和Windows Vista一起发布的。现在它们也会作为Visual Studio 2008的一部分被安装。当Visual Studio 2008安装完毕后,你可以在Start Menu/All Programs/Microsoft Windows SDK v 6.0A/Tools目录下��到它们。

服务配置编辑器

这个工具提供了用户图形界面(GUI)帮助IT管理员和开发人员创建或更改WCF服务的配置,从而不必直接编辑XML文件。服务配置编辑器支持对WCF bindings, behaviors, services, 以及diagnostics的配置。

你可以直接在Visual Studio 2008中的WCF服务项目中,选中需要编辑的配置文件,使用右键菜单打开这个工具。

4

服务跟踪查看器

这个工具提供了图形化的界面,帮助用户查看、合并和过滤trace消息,从而更方便用户诊断、修复和验证WCF服务中的故障。

5

有用的链接:

关于WCF 工具:

http://msdn2.microsoft.com/en-us/library/bb552361.aspx

http://msdn2.microsoft.com/en-us/library/ms732015.aspx

关于Visual Studio 2008:

http://msdn2.microsoft.com/en-us/vstudio/default.aspx




原创粉丝点击