使用参数信息记录WCF服务调用

时间:2009-07-24 14:59:58

标签: .net wcf logging

我一直在使用服务跟踪查看器来分析在我们的应用程序中进行的WCF服务调用,但我真的需要查看传递给服务方法的参数值吗?这可能吗?我已经尝试将记录转换为最大输出,但仍然看不到任何东西:(

1 个答案:

答案 0 :(得分: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>

这应该在目录“C:\ Logs”(必须事先存在!)中创建一个名为“YourMessageLog.svclog”的文件,并且可以使用WCF服务跟踪查看器进行查看。

您将在此处看到的是消息的 XML表示以及返回的响应 - 您的参数将被包装到您的XML结构中。这就是你要找的东西吗?