当前位置: 首页 > news >正文

使用WCF Test Client(WcfTestClient.exe) 来测试WCF

写完一个WCF 应用程序的时候,用IE浏览器并不怎么容易测试WCF 是否正确运行,更无法自定义参数了。当然我们可以写一个简单的客户端程序去测试,参看 这里  。 不过,上海紫竹科技园的微软WCF tool team 开发了一个小工具 WcfTestClient.exe 可以帮助我们非常方便地测试WCF应用。 
    在 C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\  可以找到 这个工具双击就可以运行。 
 
     为了说明这个小工具的使用,我拿 前面文章 里 的一个WCF 作为例子。客户端调用WCF 需要知道WCF的结构以及配置信息,也就是WSDL 信息。那个例子只有一个非常简单的endpoint. 现在往web.config文件里 一个MEX节点以便客户端发现WCF的结构, 最后Web.config 的内容是这样的: 
<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
        <services> 
            <service name="WCFLib.StockService" behaviorConfiguration="MEXServiceTypeBehavior"> 
                <endpoint address="" binding="wsHttpBinding" contract="WCFLib.IStockService"/> 
                 <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
            </service> 
        </services> 
         <behaviors> 
                <serviceBehaviors> 
                     <behavior name="MEXServiceTypeBehavior"> 
                           <serviceMetadata httpGetEnabled="true" /> 
                     </behavior> 
                </serviceBehaviors> 
          </behaviors> 
    </system.serviceModel> 
</configuration> 
然后在工具里添加 新的WCF, 右键点击My Service Project 点Add Service. 填入地址http://localhost:8002/WCFApp1/StockService.svc 
 
除了可以看图形界面外,还可以以xml 的方式查看WCF 的运行过程。 
    这个工具其实是利用了svcutil.exe 这个工具,如果运行中提示找不到svctuil.exe 可以参看Steven Cheng 回答的post: 
http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/dc1e33c3-bd41-4389-8728-49f60ba4f1ab 
相关参考资料:
http://msdn.microsoft.com/en-us/library/bb552364.aspx 
http://blogs.msdn.com/wcftoolsteamblogcn/archive/2009/01/12/test.aspx



本文转自 xhinkerx 51CTO博客,原文链接:http://blog.51cto.com/xhinker/210465,如需转载请自行联系原作者

相关文章:

  • Internet Connectivity Evaluation Tool
  • CCF201412-2 Z字形扫描 java(100分)
  • [SoftGrid 系列] Microsoft SoftGrid Server 安装篇
  • 只有rman的备份文件恢复过程
  • Perl脚本学习笔记(一)
  • func 安装之艰辛历程
  • SoapUI实践:自动化测试、压力测试、持续集成
  • linux命令之wget
  • 关于同一线程两次调用EnterCriticalSection的测试
  • 顶级MySQL主从复制企业应用
  • Struts2利用拦截器实现权限控制
  • kvm虚拟化学习笔记(十三)之kvm虚拟机磁盘文件读取小结
  • Python回顾与整理4:序列1—字符串
  • python小代码之阶乘求和
  • ibatis动态生成列时的列名无效
  • 《深入 React 技术栈》
  • Computed property XXX was assigned to but it has no setter
  • iOS | NSProxy
  • JavaScript类型识别
  • java多线程
  • Python打包系统简单入门
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 力扣(LeetCode)56
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 想写好前端,先练好内功
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #define用法
  • #include到底该写在哪
  • #QT(TCP网络编程-服务端)
  • #数学建模# 线性规划问题的Matlab求解
  • #微信小程序(布局、渲染层基础知识)
  • (10)ATF MMU转换表
  • (4)事件处理——(7)简单事件(Simple events)
  • (libusb) usb口自动刷新
  • (二)linux使用docker容器运行mysql
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (六)c52学习之旅-独立按键
  • (四)模仿学习-完成后台管理页面查询
  • (一)Linux+Windows下安装ffmpeg
  • (转)德国人的记事本
  • .aanva
  • .jks文件(JAVA KeyStore)
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .Net程序帮助文档制作
  • .net实现客户区延伸至至非客户区
  • .net中调用windows performance记录性能信息
  • ::前边啥也没有
  • @vue/cli脚手架
  • [BeginCTF]真龙之力
  • [c++] 单例模式 + cyberrt TimingWheel 单例分析
  • [HackMyVM]靶场Crossbow
  • [IE技巧] 让IE 以全屏模式启动
  • [IT生活推荐]大家一起来玩游戏喽,来的都进!