2011-06-21 37 views
1

我有一個IIS託管的WCF服務,我想使用服務跟蹤查看器進行跟蹤。 下面是在web.config配置:服務跟蹤查看器不顯示所有內容

<configuration> 
<!-- ... --> 
<system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel" switchValue="All,Information,ActivityTracing" 
      propagateActivity="true"> 
      <listeners> 
       <add type="System.Diagnostics.DefaultTraceListener" name="Default"> 
        <filter type="" /> 
       </add> 
       <add name="ServiceModelTraceListener"> 
        <filter type="" /> 
       </add> 
      </listeners> 
     </source> 
     <source name="System.ServiceModel.MessageLogging" switchValue="All"> 
      <listeners> 
       <add type="System.Diagnostics.DefaultTraceListener" name="Default"> 
        <filter type="" /> 
       </add> 
       <add name="ServiceModelTraceListener" /> 
      </listeners> 
     </source> 
    </sources> 
    <sharedListeners> 
     <add initializeData="C:\Program Files\Archimede\TurniArc\log\web_tracelog.svclog" 
      type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
      name="ServiceModelTraceListener" traceOutputOptions="DateTime"> 
      <filter type="" /> 
     </add> 
    </sharedListeners> 
    <trace autoflush="true" /> 
</system.diagnostics> 
<!-- ... --> 
<system.serviceModel> 
    <diagnostics> 
     <messageLogging maxMessagesToLog="10000" 
     logEntireMessage="true" 
     logMessagesAtServiceLevel="true" 
     logMalformedMessages="true" 
     logMessagesAtTransportLevel="true"> 
      <filters> 
       <clear/> 
      </filters> 
     </messageLogging> 
    </diagnostics> 
<!-- ... --> 
</system.serviceModel> 
</configuration> 

我只是劃傷其表面,有許多選項和功能,我還沒有理解,但我真的無法解釋某些事情來煩我:

  1. 當Web服務的方法被調用,我設法找到原始響應信封我送回來,但大多數時候只是似乎要求不大於有
  2. 糟糕的是,有時候.svclog文件甚至不包含任何活動,當我100%確定某些調用有b時即使在iisreset後

爲什麼會這樣?

謝謝

回答

1

我有同樣的問題並尋找建議,但沒有發現任何直接使用。經過一些實驗,我發現這個:

我需要增加最大值。大小爲這樣的消息:

<system.serviceModel> 
    <diagnostics> 
    <messageLogging 
     logEntireMessage="true" 
     logMalformedMessages="false" 
     logMessagesAtServiceLevel="true" 
     logMessagesAtTransportLevel="false" 
     maxMessagesToLog="3000" 
     maxSizeOfMessageToLog="65000"> 
     <filters> 
     <clear/> 
     </filters> 
    </messageLogging> 
    </diagnostics> 
</system.serviceModel> 

如果您的跟蹤日誌爲空,它可能是一個沖洗問題。在我的wn機器上進行調試時,我不得不停止asp.net開發服務器。

相關問題