您的位置:首页 > 产品设计 > 产品经理

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

2007-12-08 16:28 525 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: