2009-07-06 5 views
5

J'ai activé le suivi des messages sur un service WCF. il trace un couple de messages et puis il s'arrête, quand j'essaye d'ouvrir la trace dans TraceViwer il me donne une erreur sur le dernier message qui s'est connecté, ou n'ouvre même pas le duo de dossier à l'erreur différente chaque fois.Le fichier de trace WCF ne cesse d'être corrompu?

Je ne peux même pas supprimer le fichier corrompu sauf si je lance une réinitialisation depuis que le fichier est utilisé!

voici ma config trace.

<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> 
     </sources> 
     <sharedListeners> 
      <add initializeData="C:\Logs\Web_messages.svclog" 
       type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
       name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp"> 
       <filter type="" /> 
      </add> 
     </sharedListeners> 
    </system.diagnostics> 

<system.serviceModel> 
    <diagnostics> 
     <messageLogging logEntireMessage="true" logMalformedMessages="true" 
      logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" /> 
    </diagnostics> 
</system.serviceModel> 

Répondre

11

Par la réponse de John, vous pouvez utiliser Trace.AutoFlush pour vider le fichier après chaque écriture. Quelque chose dans le sens de this example ...

<system.diagnostics> 
    <sources> 
     <source name="UserTraceSource" switchValue="Warning, ActivityTracing" > 
      <listeners> 
       <add name="xml" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData="C:\logs\UserTraces.svclog" /> 
      </listeners> 
     </source> 
    </sources> 
    <trace autoflush="true" /> 
</system.diagnostics> 
+0

Hah! Je ne savais pas à ce sujet! –

+0

John, ça fait ma journée ... peut-être ma semaine! :) –

+5

parfois je me demande ce que je faisais sans ce site. –

1

Le service est-il toujours en cours d'exécution? Ensuite, le problème peut simplement être que le fichier n'a pas encore été vidé.

Questions connexes