【问题标题】:Wcf - Get Request and Response with System.DiagnosticsWcf - 使用 System.Diagnostics 获取请求和响应
【发布时间】:2015-10-17 15:21:39
【问题描述】:

。 你好

我有一个 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);
        }
    }
}

您能告诉我是否可以以这种或其他方式链接请求和响应?

感谢您的帮助

【问题讨论】:

  • 诊断在消息中生成一个“Correlation ActivityID”,它与关系请求和响应相同。

标签: c# wcf tracelistener


【解决方案1】:

诊断在消息中生成一个“Correlation ActivityID”,它与关系请求和响应相同。

此链接包含更多信息并可以帮助您:

http://www.codeproject.com/Articles/392926/Grouping-application-traces-using-ActivityId

关于 ActivityID:

http://www.thejoyofcode.com/Propagating_the_ActivityId_to_a_WCF_service.aspx

【讨论】:

    猜你喜欢
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    • 2015-06-20
    • 2022-01-23
    相关资源
    最近更新 更多