记录从.NET 4.7.1上的WCF代理类客户端发送的SOAP消息



我在.NET 4.7.1上有一个WCF客户端应用程序,我希望捕获发送到WCF服务器的SOAP主体的完整XML,这是我们无法控制的。我尝试将其添加到app.config中,但没有记录任何消息。

这可能是因为这个WCF客户端应用程序在本地系统帐户下作为Windows服务运行吗?我尝试了多个输出文件夹位置,所有这些位置的安全权限都启用了本地系统。

它是否要求exe是调试版本?

<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="All"
propagateActivity="true">
<listeners>
<add name="traceListener" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging"
switchValue="All">
<listeners>
<add name="traceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:Traces.svclog" />
</sharedListeners>
</system.diagnostics>
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="true"
logMalformedMessages="true"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="true"
maxMessagesToLog="500"/>
</diagnostics>

</system.serviceModel>

据我所知,switchValue可以设置为以下值:Off、Critical、Error、Warning、Information和Verbose。"活动跟踪和传播活动"选项使您能够使用WCF活动跟踪功能。我认为您可以将switchValue设置为Information,ActivityTracing。有关更多详细信息,请参阅本文。

如果此问题未解决或出现新问题,也可以使用配置编辑器工具(svcconfigEditor.exe(。

最新更新