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

简介:

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

         现在很多都在采用WCF做为服务端,在我们的.NET快速开发整合框架(RDIFramework.NET)中也不例外,在采用这种方式时,我们经常需要知道我们的客户端,在访问WCF服务端时,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,打开后如下图所示:


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

 

 

 

 



相关文章
|
9月前
|
Windows
WCF服务端调用客户端.
WCF服务端调用客户端.
|
9月前
|
Windows
WCF基础教程(四)——数据契约实现传送自定义数据类型
WCF基础教程(四)——数据契约实现传送自定义数据类型
90 0
wcf双工通讯
首先说一个服务引用不成功的解决办法: 需要把服务端配置文件中的Binding换成: 或: 下面是一个wcf的简单示例: 服务契约代码: using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.Text; namespace WcfService { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IUser”。
966 0
|
XML 监控 数据格式
Wcf通讯基础框架方案(二)——集中配置
从这次开始在几个方面简单阐述一下实现,集中配置是这个框架很大的一个目的,首先在数据库中会有这么一些表: 其实可以看到这些表的结构,应该是和配置节点中的层次有对应的 1) Service表描述的是服务,主要保存服务行为以及服务的配置。
585 0