【推荐】捕获WCF服务端与客户端产生的通讯数据并分析

【推荐】捕获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服务端与客户端产生的通讯数据并分析_第1张图片 要想捕获软件在运行过程中调用WCF服务所产生的一系列消息,我们首先需要对服务端的App.Config配置文件作相应的更改,如下图所示:        同时,我们还要配置捕获的信息所存放的地方: 【推荐】捕获WCF服务端与客户端产生的通讯数据并分析_第2张图片

   通过以上的配置,我们再开启我们的WCF服务,开启后运行软件做一些操作,可以看到在我们:c:\temp\RDIFramework.svclog 下已经记录了相应操作所产生的WCF消息。

【推荐】捕获WCF服务端与客户端产生的通讯数据并分析_第3张图片

 

  二、查看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服务端与客户端产生的通讯数据并分析_第4张图片

  打开服务跟踪查看器后,我们通过“服务跟踪查看器”打开我们跟踪的消息记录,通过WCF服务端的配置,跟踪的消息记录存放在C:\temp\RDIFramework.svclog,打开后如下图所示:

【推荐】捕获WCF服务端与客户端产生的通讯数据并分析_第5张图片

   通过这个窗口,我们可以非常清楚全面的查看整个操作与运行过程,以让我们可以诊断、修复和验证 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服务端与客户端产生的通讯数据并分析_第6张图片

 

你可能感兴趣的:(WCF)