.net - 如何记录 WCF 消息内容?

标签 .net wcf logging

enter image description here

我认为这很简单,但我不知道如何告诉 WCF 记录消息正文。我有:

<system.diagnostics>
  <sources>
    <source name="System.ServiceModel" switchValue="Verbose">
      <listeners>
        <add type="System.Diagnostics.DefaultTraceListener" name="Default">
          <filter type="" />
        </add>
        <add type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.EntLibLoggingProxyTraceListener,Microsoft.Practices.EnterpriseLibrary.Logging"
          name="traceListener">
          <filter type="" />
        </add>
      </listeners>
    </source>
  </sources>
</system.diagnostics>
<system.serviceModel>
   <diagnostics>
     <messageLogging logEntireMessage="true" logMalformedMessages="true"
       logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="false" />
   </diagnostics>
   ...etc..,
   ...etc...
</system.Model>
<loggingConfiguration name="" tracingEnabled="true" defaultCategory="General">
   <listeners>
     <add fileName="_trace-xml.log"
                listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.XmlTraceListenerData,Microsoft.Practices.EnterpriseLibrary.Logging"
                traceOutputOptions="None"
                type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.XmlTraceListener,Microsoft.Practices.EnterpriseLibrary.Logging"
        name="XML Trace Listener" />      
     ...etc... other listeners
  </listeners>
  ...etc...
</loggingConfiguration>

但是我记录的只是关于消息的内容,而不是消息正文。我需要更改什么才能记录消息内容?

最佳答案

如果您需要消息正文,则必须以编程方式自己捕获它们。使用服务行为安装消息检查器并捕获 IDispatchMessageInspector 或 IClientMessageInspector 实现中的消息。

关于.net - 如何记录 WCF 消息内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8051239/

相关文章:

c# - 没有对象定义的二进制反序列化

.net - 如何在TopShelf中指定服务的命令行选项

c# - 使用 Unity 时配置 WCF 客户端的 MaxItemsInObjectGraph

wcf - 如何为具有 HTTPS 终结点的 WCF 服务生成客户端代理?

我可以有一个接受未定义数量参数的 C 宏吗?

C# 类大小计算

c# - .NET 压缩 XML 以存储在 SQL Server 数据库中

docker - 如何在Docker容器中为Filebeat创建滚动日志

c# - 在异步 Controller 中使用同步操作

java - 如何使用 Spring Boot/slf4j 在日志文件的名称中包含日期?