WCF服务编程-WCF应用程序的消息跟踪(转载)

 

http://www.cnblogs.com/cbcye/archive/2009/06/02/1494734.html

 

对于WCF的消息跟踪主要有Microsoft Service Trace Viewer(服务跟踪查看器)和tcpTrace这两个。服务跟踪查看器工具功能比较强大可以了解 WCF 侦听器生成的诊断跟踪信息,从而找到错误的根本原因。该工具提供了一种轻松查看、分组和筛选跟踪的方法,以便可以诊断、修复和验证 WCF 服务的问题。但是使用之前需要在服务端作相应的配置。tcpTrace其实就是一个通过端口映射来捕获Tcp包的工具使用起来非常简单,由于WCF的很多绑定都会走tcp协议因此使用该工具来捕获数据包会非常方便。下面就简要的介绍一下这两个工具的使用。

 

Microsoft Service Trace Viewer

Service Trace Viewer是.Net Framework自还的工具一般在C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin路径下可以找到。以《WCF服务编程-HelloWorld》中的源码为例,我们在使用之前需要对服务端的App.Config配置文件作相应的更改:

 

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  
<!-- WCF 配置声明-->
  
<system.serviceModel>
    
<!--添加跟踪节点-->
    
<diagnostics performanceCounters="All" wmiProviderEnabled="true">
      
<messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" maxMessagesToLog="100000"/>
    
</diagnostics>
    
<services>
        
<endpoint address="" binding="basicHttpBinding" contract="Cbcye.Contract.IHelloWorld" name=""></endpoint>
        
<host>
          
<baseAddresses>
            
<add baseAddress="http://localhost:7788/cbcye/helloworld%22/>
          </baseAddresses>
        </host>
      </service>
    </services> 

<!--跟踪节点配置-->
  <system.diagnostics >
    <sharedListeners>
      <add name="
sharedListener"
           type
="System.Diagnostics.XmlWriterTraceListener"
           initializeData
="c:\temp\trace.svclog" />
    
</sharedListeners>
    
<sources>
      
<source name="System.ServiceModel" switchValue="Verbose, ActivityTracing" >
        
<listeners>
          
<add name="sharedListener" />
        
</listeners>
      
</source>
      
<source name="System.ServiceModel.MessageLogging" switchValue="Verbose">
        
<listeners>
          
<add name="sharedListener" />
        
</listeners>
      
</source>
    
</sources>
  
</system.diagnostics> 

</configuration>

 

运行WCF服务端与客户端,让WCF服务端与客户端产生通讯数据。

打开服务跟踪查看器打开配置文件中initializeData属性的路径相对应的文件,我们就可以在查看器中查看到相应的数据。

image

 

tcpTrace

tcpTrace的使用比较简单在启动tcpTrace时会输入要映射的端口即可。如《WCF服务编程-HelloWorld》中的示例,在使用之前我们需要先改变客户端请求的地址的端口从7788改为8080,这样客户端在请求服务时会把数据发到监听8080端口的tcpTrace,tcpTrace之后会将数据转发给7788端口的服务。

image

tcpTrace监听到的WCF数据(注意:tcpTrace仅支持通过tcp传输的消息)

image

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值