WCF提供了两个工具可以跟踪WCF的调用过程,我主要是用来跟踪传输的xml是否符合我定义的schema。
这两个工具是:
工具路径:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
SvcConfigEditor:微软提供的用来辅助编辑WCF配置文件的工具
SvcTraceViewer:微软提供的用来查看WCF的Trace Log的工具。
跟踪配置
启动SvcConfigEditor.exe, 用这个程序打开wcf service host程序的web.config 或者app.config,除了WMI Provider,其它的全部Enable, 在log file选择svclog文件的保存路径, 然后save, 如果config文件在源码管理器,记得先签出,才能保存。
也可以手动配置添加如下内容,不使用上面的配置工具
<configuration>节理添加如下内容

Code
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelMessageLoggingListener">
<filter type="" />
</add>
</listeners>
</source>
<source name="System.ServiceModel" switchValue="Warning, ActivityTracing"
propagateActivity="true">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelTraceListener">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="E:\Web_messages.svclog"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp">
<filter type="" />
</add>
<add initializeData="E:\Web_tracelog.svclog"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ServiceModelTraceListener" traceOutputOptions="Timestamp">
<filter type="" />
</add>
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
<System.ServiceMode>节里会添加

Code
<diagnostics>
<messageLogging logEntireMessage="true" logMalformedMessages="true"
logMessagesAtTransportLevel="true" />
</diagnostics>
查看
启动SvcTraceViewer, 打开刚才的svclog文件,调用wcf service,然后就可以看到消息的记录。

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
2008-03-16 拔丝山药
2008-03-16 全家愉快
2008-03-16 红烧肉
2008-03-16 山药枸杞汤
2008-03-16 ASP.NET2.0 XML系列(6): 使用XmlReaderSettings配置XmlReader的输出
2008-03-16 外企公司常用英文缩写
2008-03-16 在外企必会的英文单词