WCF Development Tools -- WcfSvcHost.exe & WcfTestClient.exe

VS.NET 2008提供了两个工具WcfSvcHost.exe、WcfTestClient.exe用来辅助开发人发对自已开发的Wcf Service进行测试,我们可以不用写WcfHost Project,WcfTestHost.exe会帮助我们自动创建Wcf Service Host。我们可以不用写Wcf Service Test Project,WcfTestClient.exe提供了一个可视化窗口显示Service可用的操作并允许输入接口数据进行调用和单步调试Service。
两个工具的位置:C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE  
功能演示如下
1) 在VS.NET 2008下创建一个WCF Service Library
WCF Development Tools -- WcfSvcHost.exe & WcfTestClient.exe_第1张图片
注:一定要用WCF中的Project Template创建Project才可以实现下面的功能,不然要对Project类型文件进行改动

2) 点击OK创建Wcf ServiceLibary, 并查看Project的Debug属性, 可以看到在Command line arguments中的/client:"WcfTestClient.exe"
WCF Development Tools -- WcfSvcHost.exe & WcfTestClient.exe_第2张图片
3)按F5对Service进行调试, 可以看到下面红框中的图标,单击鼠标右键点击Open, 定义的Service已经在WCF Service Host工具中已经自动Host了。


WCF Development Tools -- WcfSvcHost.exe & WcfTestClient.exe_第3张图片
4) 同时系统会自动弹出WcfTestClient.exe的对话框供我们Debug Service
WCF Development Tools -- WcfSvcHost.exe & WcfTestClient.exe_第4张图片
即可以查看格化化的请求响应数据还可以以XML的形式查看请求响应结果
WCF Development Tools -- WcfSvcHost.exe & WcfTestClient.exe_第5张图片
这样我们就可以不用单独写WCF Service的Host Project就以实现对Service的Debug

下面对不是以WCF Project Template所创建的Project不能实现上述的功能的说明
1) 假设创建了一个Class Library的Project
WCF Development Tools -- WcfSvcHost.exe & WcfTestClient.exe_第6张图片
2) 根据上面工程的设置对此工程进行了同样的设置Serive文件及配置,但是它不能像上个工程一样工作
WCF Development Tools -- WcfSvcHost.exe & WcfTestClient.exe_第7张图片
3) 最后比较了两个WcfServiceLibrary.csproj的文件的异同,在当前工程文件中缺少红框中的部分,对当前工程文件更改后可以像上面的工程一样工作(这也许是MS的一个Bug)
WCF Development Tools -- WcfSvcHost.exe & WcfTestClient.exe_第8张图片

用命令行的形式手工执行WcfTestClient.exe
WcfTestClient.exe 可以执行.NET 3.0 / 3.5的WCF Service,可用手工的方式从命令行可同时启动一个或多个WcfService进行测试
命令:WcfTestClient.exe yourserviceeMexEndpointUrl anotherserviceMexEndpointUrl

请确保在运行WcfTestClient.exe工具之前,WcfService已经enabled metadata publishing(可参见 http://go.microsoft.com/fwlink/?LinkId=65455)

WcfTestClinet使用起来比较方便,但是它对所支持的类型方面有好多限制,有可能所写的Wcf Service无法在WcfTestClient中进行测试
具体请参见 http://msdn2.microsoft.com/en-us/library/bb552364(VS.90).aspx 中 Features supported by WCF Test Client

参考:
[MSDN] Using the WCF Development Tools
http://msdn2.microsoft.com/en-us/library/bb552361(VS.90).aspx
.NET Framework3.0 Tools
http://msdn2.microsoft.com/en-us/library/aa388630(vs.85).aspx
Tools(.NET Framework Technologies)
http://msdn2.microsoft.com/en-us/library/bb400851(VS.90).aspx

你可能感兴趣的:(client)