Wcf - 使用System.Diagnostics获取请求和响应

3

你好

我有一个WCF,需要记录请求和相关的响应。

今天我似乎可以获取请求和响应,但我没有ID来关联它们。

在.config文件中使用以下配置:

  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel.MessageLogging">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
    <add name="xml" type="Ctx_Host.WebTraceListener, Ctx_Host" />
    </sharedListeners>
  </system.diagnostics>
  <system.serviceModel>
    <diagnostics>
      <messageLogging
          logEntireMessage="true"
          logMalformedMessages="false"
          logMessagesAtServiceLevel="true"
          logMessagesAtTransportLevel="true"
          maxMessagesToLog="300000"
          maxSizeOfMessageToLog="200000"/>
    </diagnostics>
  </system.serviceModel>

而 .cs 的代码为:

public class WebTraceListener : TraceListener
{
    public override void Write(string message)
    {
        using (var sw = new StreamWriter(@"F:\wcf\log.csv", true))
        {
            sw.WriteLine(message);
        }
    }


    public override void WriteLine(string message)
    {
        using (var sw = new StreamWriter(@"F:\wcf\log.csv", true))
        {
            sw.WriteLine(message);
        }
    }
}

请问是否可以通过这种或其他方式链接请求和响应?

感谢您的帮助。


诊断生成了一个“相关活动 ID”,在消息中,它是相同的并且关系请求和响应。 - Ricardo Pontual
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接