WCF Development Tools -- WcfSvcHost.exe & WcfTestClient.exe
Posted on 2007-12-08 16:28 AllenWang.NET 阅读(932) 评论(0) 编辑 收藏 举报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中的Project Template创建Project才可以实现下面的功能,不然要对Project类型文件进行改动
2) 点击OK创建Wcf ServiceLibary, 并查看Project的Debug属性, 可以看到在Command line arguments中的/client:"WcfTestClient.exe"
3)按F5对Service进行调试, 可以看到下面红框中的图标,单击鼠标右键点击Open, 定义的Service已经在WCF Service Host工具中已经自动Host了。
4) 同时系统会自动弹出WcfTestClient.exe的对话框供我们Debug Service
即可以查看格化化的请求响应数据还可以以XML的形式查看请求响应结果
这样我们就可以不用单独写WCF Service的Host Project就以实现对Service的Debug
下面对不是以WCF Project Template所创建的Project不能实现上述的功能的说明
1) 假设创建了一个Class Library的Project
2) 根据上面工程的设置对此工程进行了同样的设置Serive文件及配置,但是它不能像上个工程一样工作
3) 最后比较了两个WcfServiceLibrary.csproj的文件的异同,在当前工程文件中缺少红框中的部分,对当前工程文件更改后可以像上面的工程一样工作(这也许是MS的一个Bug)
用命令行的形式手工执行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