如何记录来自 WCF 请求的传入和传出 XML

Zac*_*ith 5 wcf logging

我有一个托管在控制台应用程序中的基本 WCF 和一个基本控制台 WCF 客户端。您如何查看两个应用程序之间(通过本地主机)发送的请求?

我应该使用“Wireshark”之类的东西,还是可以在 Visual Studio 中注销传入和传出的响应对象?

我已经log.svclog通过 App.config 文件中的 system.diagnostics 指令创建了一个文件,但找不到实际的请求和响应 xml:

<diagnostics>
  <messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" />
</diagnostics>

<system.diagnostics>
  <sources>
    <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">
      <listeners>
        <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\log\log.svclog" />
      </listeners>
    </source>
  </sources>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)

我从 Stack Overflow 得到的(我不记得在哪里)

tom*_*asr 5

您需要配置消息日志记录,这与您在上面配置的 WCF 跟踪不同。请参阅https://msdn.microsoft.com/en-us/library/ms730064(v=vs.110).aspx