【推荐】捕获WCF服务端与客户端产生的通讯数据并分析
现在很多都在采用WCF做为服务端,在我们的.NET快速开发整合框架(RDIFramework.NET)中也不例外,在采用这种方式时,我们经常需要知道我们的客户端,在访问WCCF服务端时,WCF服务端究竟做了那些工作,也就是运行WCF服务端与客户端后,我们想查看WCF服务端与客户端产生通讯数据。如何才能查看产生的通讯数据呢?这就是微软提供的Windows Communication Foundation (WCF) 服务跟踪查看器,它可帮助分析 WCF 侦听器所生成的活动跟踪 (*.svclog) 诊断跟踪为合并、查看和筛选跟踪消息提供了一种简单方法,可以诊断、修复和验证 WCF 服务问题。
在把WCF服务部署到Windows服务时,对于这个服务端其运行的全过程在开发环境下,我们需要予以把握。如何对WCF应用程序的消息进行跟踪呢,本文将.NET快速开发整合框架(RDIFramework.NET)中实际的环境进行模拟整个过程。
一、配置WCF应用程序支持消息的跟踪
要想跟踪WCF应用程序运行过程中的相关信息,我们需要对WCF应用程序进行部署,在.NET快速开发整合框架(RDIFramework.NET),WCF服务默认部署在Windows服务下,服务启动后,如下图所示: 要想捕获软件在运行过程中调用WCF服务所产生的一系列消息,我们首先需要对服务端的App.Config配置文件作相应的更改,如下图所示: 同时,我们还要配置捕获的信息所存放的地方:
通过以上的配置,我们再开启我们的WCF服务,开启后运行软件做一些操作,可以看到在我们:c:\temp\RDIFramework.svclog 下已经记录了相应操作所产生的WCF消息。
二、查看WCF产生的消息
对于WCF的消息跟踪主要有Microsoft Service Trace Viewer(服务跟踪查看器)和tcpTrace这两个。服务跟踪查看器工具功能比较强大可以了解 WCF 侦听器生成的诊断跟踪信息,从而找到错误的根本原因。该工具提供了一种轻松查看、分组和筛选跟踪的方法,以便可以诊断、修复和验证 WCF 服务的问题,但是使用之前需要在服务端作相应的配置(如上,我们的简单配置过程)。tcpTrace其实就是一个通过端口映射来捕获Tcp包的工具使用起来非常简单,由于WCF的很多绑定都会走tcp协议因此使用该工具来捕获数据包会非常方便。下面我们就使用Microsoft Service Trace Viewer(服务跟踪查看器)来查看我们跟踪WCF运行过程所产生的消息。
要打开服务跟踪查看器,可以通过使用命令窗口定位到 WCF 安装位置 (C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin),然后键入 SvcTraceViewer.exe,可以启动服务跟踪查看器。或者按下图操作也可打开服务跟踪查看器:
打开服务跟踪查看器后,我们通过“服务跟踪查看器”打开我们跟踪的消息记录,通过WCF服务端的配置,跟踪的消息记录存放在C:\temp\RDIFramework.svclog,打开后如下图所示:
通过这个窗口,我们可以非常清楚全面的查看整个操作与运行过程,以让我们可以诊断、修复和验证 WCF 服务问题。通过“服务跟踪查看器”,我们可以方便的查看跟踪数据,筛选跟踪数据,查找跟踪的数据,定位跟踪数据等,让我们的服务端应用程序在发布前做这样的评估,可以更加的健壮,当然了,跟踪也是大耗性能的,因此,在正式发布后应该关闭对WCF服务的跟踪。
作者: EricHu 出处: http://blog.csdn.net/chinahuyong 微博: 腾讯 Email: 406590790@qq.com QQ 交流:406590790 平台博客: 【CSDN】http://blog.csdn.net/chinahuyong 【CNBLOGS】http://www.cnblogs.com/huyong 关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,精通DotNet,DB(SqlServer、Oracle等)技术。熟悉Java、Delhpi及Linux操作系统,有扎实的网络知识。在面向对象、面向服务以及数据库领域有一定的造诣。现从事DB管理与开发、WinForm、WCF、WebService、网页数据抓取以及ASP.NET等项目管理、开发、架构等工作。 如有问题或建议,请多多赐教! 本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。
相关推荐
wcf服务端与客户端的例子
wcf服务端主动向客户端推送消息、包含源码和可执行文件。
代码配置WCF服务端和客户端。只是个例子,并不复杂。只是个简单实现。如果需要程序的项目,就不要看了。 实现客户端和服务端基于代码的方式设置,互相访问。
WCF心跳判断服务端及客户端是否掉线并实现重连接
代码规范清晰。非常适合学习。 wcf实现服务端主动向客户端推送消息
WCF 服务端 客户端 配置 详细说明,如果有错的地方请大家留言指出
分享wcf http绑定方式的客户端调用,和wcf http绑定服务端配合使用,供大学共同学习提高!分享无处不在
WCF文件上传实例服务端和客户端本人测试可以用
wcf 服务,网页端向客户端发送消息,可以修改弹幕,源码提供。
两个解决方案实现WCF远程调用
由于上次发错文件,现在给大家补回!里面包含搭建WCF架构的 数据库、服务端、客户端,(仅供参考)
WCF传送XML文件服务端与客户端(全部源码)下载运行即可。 XML文件容量基本不限制,传2G的xml文件,成功了。 --------------------------------------- 作为自己的测试案例,备份在这,以备不时之需。
WCF上传服务与客户端(全部源码)下载运行即可。
wcf教程客户端服务端代码示例,了解wcf的原理。
WCF通信预先客户端直接主动调用服务端的方法,从而获取服务端方法执行的结果;从而判断服务端方法执行是否成功。例如:运动控制与视觉进行通信,以前以TCP通信进行交互,需要过多的判断;而采用WCF通信,就允许运动...
c# wcf双工通信客户端demo,服务端在下面
wcf c# 服务器 客户端 示例 wcf c# 服务器 客户端 示例
本工程实现了内部集成了四个工程,实现了gsoap与WCF互为客户端和服务端进行通信,即实现了gsoap做客户端与gsoap或WCF作服务端的通信、WCF作客户端与gsoap或WCF作服务端的通信,工程接口简洁,易于移植,欢迎下载交流...
WCF http绑定服务端,分享.net 中wcf的http绑定方式,分服务端和客户端,分享,供大家一起学习,提高!