Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在WCF中写入自定义跟踪并查看跟踪_C#_Wcf_Trace - Fatal编程技术网

C# 如何在WCF中写入自定义跟踪并查看跟踪

C# 如何在WCF中写入自定义跟踪并查看跟踪,c#,wcf,trace,C#,Wcf,Trace,我有一个WCF服务,其中我使用Trace.Writeline()方法记录活动。它一直工作得很好,但由于某种原因,它最近停止了工作。现在我只有来自“System.ServiceModel.MessageLogging”和“System.ServiceModel”的跟踪。我不记得我已经更改了配置,但可能有人更改了配置,但我不记得它是如何配置的。以下是我现在拥有的: 首先,我定义了以下内容来记录所有消息: <diagnostics> <messageLo

我有一个WCF服务,其中我使用Trace.Writeline()方法记录活动。它一直工作得很好,但由于某种原因,它最近停止了工作。现在我只有来自“System.ServiceModel.MessageLogging”和“System.ServiceModel”的跟踪。我不记得我已经更改了配置,但可能有人更改了配置,但我不记得它是如何配置的。以下是我现在拥有的:

首先,我定义了以下内容来记录所有消息:

   <diagnostics>
            <messageLogging logEntireMessage="true"
            logMalformedMessages="true" logMessagesAtServiceLevel="true"
            logMessagesAtTransportLevel="true" maxMessagesToLog="10000"
            maxSizeOfMessageToLog="1000000" />
            <endToEndTracing propagateActivity="true" activityTracing="true" messageFlowTracing="true" />
</diagnostics>

然后我在下面定义了跟踪源,并告诉跟踪类应该在哪里写入跟踪:

<system.diagnostics>
    <sources>
        <source name="System.ServiceModel" switchValue="All">
            <listeners>
                <add name="traceListener"
                type="System.Diagnostics.XmlWriterTraceListener"
                initializeData="E:\Projects\Logs\serviceTraces.svclog" />                   
            </listeners>
        </source>
     <source name="System.ServiceModel.MessageLogging">
        <listeners>
          <add name="messagelistener"
               type="System.Diagnostics.XmlWriterTraceListener" initializeData="E:\Projects\Logs\MyServiceMsg.svclog">
        </add>
        </listeners>
      </source>
    </sources>
    <trace autoflush="true" indentsize="4">
         <listeners>
            <add name="textLogListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="E:\Projects\Logs\MyServiceCustomMsg.svclog" />
            <remove name="Default" />
        </listeners>
  </trace>  
  </system.diagnostics>

由于我从“myservicessg.svclog”和“MyServiceCustomMsg.svclog”中得到了跟踪,我认为这不是权限问题

非常感谢您的帮助

找到了原因。“跟踪”在生成时未打开。在启用跟踪的重新构建之后,我的自定义跟踪开始显示