相关疑难解决方法(0)

WCF:如何跟踪邮件正文?

我正在尝试诊断在相对简单的服务主机进程(Service.exe)中自托管的WCF服务.

我配置了Service.exe.config:

<?xml version="1.0" ?>
<configuration>
  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel" 
              switchValue="All"
              propagateActivity="true">
        <listeners>
          <add name="traceListener" 
               type="System.Diagnostics.XmlWriterTraceListener" 
               initializeData= "c:\temp\Service.svclog" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>
  <system.serviceModel>
    <diagnostics>
      <messageLogging maxMessagesToLog="1"
                      maxSizeOfMessageToLog="2147483647"
                      logEntireMessage="true"
                      logMessagesAtServiceLevel="true"
                      logMalformedMessages="true"
                      logMessagesAtTransportLevel="true">
      </messageLogging>
    </diagnostics>
  </system.serviceModel>
  <startup>
    <supportedRuntime version="v4.0"
                      sku=".NETFramework,Version=v4.0" />
  </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

当我查看生成的svclog文件时,我看到记录了许多跟踪事件(我只希望记录第一条消息),并且所跟踪的消息都没有显示消息体(仅标题).

我相信我必须在这里遗漏一些简单的东西,但我看不到它.

更新:当我查看WCF配置编辑器时,"诊断"下有两个部分:MessageLogging和Tracing.当我单击"EnableMessageLogging"链接时,我的配置文件会更新:

  <system.diagnostics>
    <sources>
      <source propagateActivity="true" name="System.ServiceModel" switchValue="All">
        <listeners>
          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
            <filter type="" />
          </add>
          <add initializeData="c:\temp\MessageBodyTracing.svclog" type="System.Diagnostics.XmlWriterTraceListener"
            name="traceListener">
            <filter type="" />
          </add>
        </listeners>
      </source>
      <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
        <listeners>
          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
            <filter type="" /> …
Run Code Online (Sandbox Code Playgroud)

wcf logging trace

7
推荐指数
1
解决办法
7925
查看次数

标签 统计

logging ×1

trace ×1

wcf ×1