2009-07-24 64 views
13

我一直在使用该服务跟踪查看,分析了在我们的应用程序发出的WCF服务电话,但我真的需要看到的是传递给服务方法的参数值调用?这可能吗?我试着打开日志记录到最大输出,但仍然看不到任何东西:(日志WCF服务与参数信息

回答

18

如果启用消息跟踪,你应该得到双方通话的所有详细信息(包括发送你的信息的XML表示)以及答案:

<system.diagnostics > 
    <sources> 
    <source 
     name="System.ServiceModel.MessageLogging" 
     switchValue="Information, ActivityTracing" > 
     <listeners> 
      <add name="yourTrace" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData="C:\Logs\YourMessageLog.svclog"> 
      <filter type="" /> 
      </add> 
     </listeners> 
    </source> 
    </sources> 
    <trace autoflush="true" /> 
</system.diagnostics> 
<system.serviceModel> 
    <diagnostics> 
     <messageLogging 
      logMessagesAtTransportLevel="true" 
      logMessagesAtServiceLevel="false" 
      logMalformedMessages="true" 
      logEntireMessage="true" 
      maxSizeOfMessageToLog="65535000" maxMessagesToLog="500" /> 
    </diagnostics> 
</system.serviceModel> 

这应该在一个目录下创建一个名为“YourMessageLog.svclog”文件“C:\日志”(必须事先存在!),以及可以与WCF服务跟踪查看Viewer。

你会在这里看到的是XML表示消息传出和t他的回应回来了 - 你的参数将被包装到你的XML结构中。那是你在找什么?

+0

我曾试图设置消息之前这种方式记录了,但在做它的服务器上,而不是客户端,因此它不工作如我所料。干杯指着我正确的方式:) – 2009-07-27 11:36:46