Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/5.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
WCF跟踪赢得';不能写入文件吗?_Wcf_Trace_System.diagnostics - Fatal编程技术网

WCF跟踪赢得';不能写入文件吗?

WCF跟踪赢得';不能写入文件吗?,wcf,trace,system.diagnostics,Wcf,Trace,System.diagnostics,我已在WCF服务中启用跟踪。以下是system.diagnostics部分: <configuration> <system.diagnostics> <trace autoflush="true"/> <sources> <source name="System.ServiceModel" switchValue="All" propagateActivity="true"> <l

我已在WCF服务中启用跟踪。以下是system.diagnostics部分:

<configuration>
  <system.diagnostics>
    <trace autoflush="true"/>
    <sources>
      <source name="System.ServiceModel" switchValue="All" propagateActivity="true">
        <listeners>
          <add name="xmlTraceListener" />
        </listeners>
      </source>
      <source name="System.ServiceModel.MessageLogging" switchValue="All">
        <listeners>
          <add name="xmlTraceListener" />              
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add name="xmlTraceListener"
          type="System.Diagnostics.XmlWriterTraceListener"
          initializeData="C:\KryptonTracing\Traces.svclog" />
    </sharedListeners>
  </system.diagnostics>


无济于事。请帮忙

我最终使用WCF配置编辑器将跟踪添加到web.config。它在my web.config中生成了这两个部分

<configuration>
  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel.MessageLogging" switchValue="Warning,ActivityTracing">
        <listeners>
          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
            <filter type="" />
          </add>
          <add name="ServiceModelMessageLoggingListener">
            <filter type="" />
          </add>
        </listeners>
      </source>
      <source propagateActivity="true" name="System.ServiceModel" switchValue="Warning,ActivityTracing">
        <listeners>
          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
            <filter type="" />
          </add>
          <add name="ServiceModelTraceListener">
            <filter type="" />
          </add>
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add initializeData="C:\Tracing\Krypton_Web_messages.svclog"
           type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
           name="ServiceModelMessageLoggingListener" 
           traceOutputOptions="Timestamp">
        <filter type="" />
      </add>
      <add initializeData="C:\Tracing\Krypton_Web_tracelog.svclog"
           type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
           name="ServiceModelTraceListener" 
           traceOutputOptions="Timestamp">
        <filter type="" />
      </add>
    </sharedListeners>
    <trace autoflush="true" />
  </system.diagnostics>

…这是:

<diagnostics>
  <messageLogging logEntireMessage="true" logMalformedMessages="true"
    logMessagesAtTransportLevel="true" />
</diagnostics>


然后,在发布之前,我创建了C:\Tracing文件夹,并添加了具有完全权限的“Everyone”。我终于发布了,现在两个.svclog文件都在这个文件夹里了!!!!不确定为什么我的原始配置一开始不起作用。

我最终使用WCF配置编辑器将跟踪添加到web.config。它在my web.config中生成了这两个部分

<configuration>
  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel.MessageLogging" switchValue="Warning,ActivityTracing">
        <listeners>
          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
            <filter type="" />
          </add>
          <add name="ServiceModelMessageLoggingListener">
            <filter type="" />
          </add>
        </listeners>
      </source>
      <source propagateActivity="true" name="System.ServiceModel" switchValue="Warning,ActivityTracing">
        <listeners>
          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
            <filter type="" />
          </add>
          <add name="ServiceModelTraceListener">
            <filter type="" />
          </add>
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add initializeData="C:\Tracing\Krypton_Web_messages.svclog"
           type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
           name="ServiceModelMessageLoggingListener" 
           traceOutputOptions="Timestamp">
        <filter type="" />
      </add>
      <add initializeData="C:\Tracing\Krypton_Web_tracelog.svclog"
           type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
           name="ServiceModelTraceListener" 
           traceOutputOptions="Timestamp">
        <filter type="" />
      </add>
    </sharedListeners>
    <trace autoflush="true" />
  </system.diagnostics>

…这是:

<diagnostics>
  <messageLogging logEntireMessage="true" logMalformedMessages="true"
    logMessagesAtTransportLevel="true" />
</diagnostics>


然后,在发布之前,我创建了C:\Tracing文件夹,并添加了具有完全权限的“Everyone”。我终于发布了,现在两个.svclog文件都在这个文件夹里了!!!!不确定我的原始配置为什么一开始就不起作用。

有同样的问题,我注意到
app.config
gui编辑器正在用西班牙语编写
switchValue=“Advertencia,ActivityTracing”
(我使用的VS语言环境)

我把它改成了
switchValue=“Warning,ActivityTracing”
,它成功了。现在已创建日志文件。

在线搜索“TraceLevel Enumeration”以查看可用选项。

有同样的问题,我注意到
app.config
gui编辑器正在用西班牙语编写
switchValue=“Advertencia,ActivityTracing”
(我使用的VS语言环境)

我把它改成了
switchValue=“Warning,ActivityTracing”
,它成功了。现在已创建日志文件。

联机搜索“TraceLevel枚举”以查看可用选项。

为什么您的
位于
下?是打字错误吗?它应该在根标签下
。很抱歉,这是一个打字错误,我已经编辑了这篇文章。WCF服务工作正常吗?也许一个请求永远不会到达WCF来记录。我看不出您的配置有任何问题。是的,服务正在运行。我可以使用客户端来证明请求正在通过,数据库正在更新。我还可以查看IIS日志,看到服务被命中。该服务具有wsHttpBinding和自定义身份验证,但这不应该是一个问题。当您为System.ServiceModel.MessageLogging和System.ServiceModel设置单独的日志文件时,它是否工作?尝试为C:\KryptonTracing文件夹上的所有人设置权限。请确定:)为什么您的
下面?是打字错误吗?它应该在根标签下
。很抱歉,这是一个打字错误,我已经编辑了这篇文章。WCF服务工作正常吗?也许一个请求永远不会到达WCF来记录。我看不出您的配置有任何问题。是的,服务正在运行。我可以使用客户端来证明请求正在通过,数据库正在更新。我还可以查看IIS日志,看到服务被命中。该服务具有wsHttpBinding和自定义身份验证,但这不应该是一个问题。当您为System.ServiceModel.MessageLogging和System.ServiceModel设置单独的日志文件时,它是否工作?尝试为C:\KryptonTracing文件夹上的所有人设置权限。只是为了确定:)谢谢你帮了我,我错过了配置的第二部分。对其他人来说,这应该放在标记中谢谢你帮了我,我错过了配置的第二部分。对于其他人来说,这应该放在标签内