博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WCF服务编程-WCF应用程序的消息跟踪
阅读量:6844 次
发布时间:2019-06-26

本文共 1899 字,大约阅读时间需要 6 分钟。

对于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路径下可以找到。以《》中的源码为例,我们在使用之前需要对服务端的App.Config配置文件作相应的更改:

ContractedBlock.gif
ExpandedBlockStart.gif
Diagnostics Configure
<?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属性的路径相对应的文件,我们就可以在查看器中查看到相应的数据。

 

tcpTrace

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

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

你可能感兴趣的文章
在Docker上建立多节点的Hadoop集群
查看>>
宝德HPC助力科研机构打造全新计算平台
查看>>
配置少量固态硬盘即能大幅提升性能
查看>>
国内车载信息安全市场 东软靠技术创新的行动力独树一帜
查看>>
威胁预警通告 JavaScript引擎MuJS爆出堆栈溢出漏洞 请尽快升级最新版本
查看>>
中国银行携手IBM成功建成智能化网点
查看>>
再谈大型数据中心的运维工作
查看>>
报告显示电话监控技术处于发展浪潮
查看>>
安全研究人员发现可以利用推特控制僵尸网络
查看>>
三种在Linux上创建或扩展交换分区的简单方法
查看>>
LMD Tool:Linux恶意软件检测工具
查看>>
铜缆宽带接入即将走向末路?
查看>>
哪些技术对5G贡献最大?毫米波成工程师追捧之一
查看>>
企业级SaaS服务的现实之路:放弃团队 直指公司
查看>>
你应该成为 Web 开发者的 5 大理由
查看>>
Locky勒索软件是如何利用DGA的?
查看>>
打造自己的 Python 编码环境
查看>>
使用Azure托管磁盘简化云存储管理
查看>>
你需要知道知道这几个因素会不利于关键词排名优化
查看>>
《算法设计编程实验:大学程序设计课程与竞赛训练教材》——2.4 相关题库...
查看>>