无法获取WCF服务的跟踪文件

时间:2012-01-06 12:22:19

标签: wcf

我无法在服务器上获取WCF服务的跟踪日志文件。调用服务后,文件根本不会出现。 我没有问题在相同配置的客户端上获取它。

我正在使用Windows Windows Server Server R2,.net 4.0,该服务托管在IIS

我的配置文件:

    <?xml version="1.0"?>
<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 name="System.ServiceModel" switchValue="Warning, ActivityTracing"
                propagateActivity="true">
                <listeners>
                    <add type="System.Diagnostics.DefaultTraceListener" name="Default">
                        <filter type="" />
                    </add>
                    <add name="ServiceModelTraceListener">
                        <filter type="" />
                    </add>
                </listeners>
            </source>
        </sources>
        <sharedListeners>
            <add initializeData="C:\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:\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>
  <system.serviceModel>
    <diagnostics wmiProviderEnabled="true">
      <messageLogging logEntireMessage="true" logMalformedMessages="true"
        logMessagesAtTransportLevel="true" />
    </diagnostics>
    <behaviors>
      <endpointBehaviors>
        <behavior name="Beh">
          <dataContractSerializer maxItemsInObjectGraph="10000000"/>
          <enableWebScript />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="ServiceBehavior">
          <serviceMetadata httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <webHttpBinding>
        <binding name="WebBinding" closeTimeout="00:10:00" openTimeout="00:10:00"
          sendTimeout="00:10:00" maxBufferSize="655360000" maxBufferPoolSize="524288000"
          maxReceivedMessageSize="655360000">
          <readerQuotas maxDepth="500000000" maxStringContentLength="500000000"
            maxArrayLength="500000000" maxBytesPerRead="500000000" maxNameTableCharCount="500000000" />
          <security mode="Transport" />
        </binding>
      </webHttpBinding>
    </bindings>
    <services>
      <service behaviorConfiguration="ServiceBehavior" name="WcfService1.PleasureKraftService">
        <clear />
        <endpoint behaviorConfiguration="Beh" binding="webHttpBinding"
          bindingConfiguration="WebBinding" name="Basic" contract="WcfService1.IMyService"
          listenUriMode="Explicit">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpsBinding" contract="WcfService1.IMyService" />
      </service>
    </services>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>
  <system.web>
    <compilation debug="false"/>
<httpRuntime maxRequestLength="52428800" />
  </system.web>
  <connectionStrings>
    <add name="Ent" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=xxxxxx;Initial Catalog=Eu;User ID=xxxx;Password=xxxx;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient"/>
  </connectionStrings>
</configuration>

1 个答案:

答案 0 :(得分:1)

检查IIS是否对日志记录文件夹具有读/写访问权限。从配置看起来你正在登录C $。 IIS用户应该对日志文件夹具有读写访问权限(给予MachineName \ User帐户修改文件夹的访问权限)。另外,请将您的日志记录移动到某个文件夹而不是C $。

希望这有帮助。