web-dev-qa-db-fra.com

Comment activer le traçage WCF?

Mise à jour:

J'ai essayé d'activer WCF traçage, mais toujours pas de succès ... Voici ma dernière mise à jour.

Ai-je besoin d'une permission pour écrire à l'emplacement ci-dessous?

  <system.diagnostics>
    <trace autoflush="true" />
    <sources>
      <source name="System.ServiceModel"
              switchValue="Information, ActivityTracing"
              propagateActivity="true">
        <listeners>
          <add name="sdt"
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData= "@\\myservername\folder1\traces.svclog" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>

J'utilise .NET Framework 3.5.

Quelle est l'instruction étape par étape pour activer le suivi WCF à des fins de débogage?

149
Nick Kahn

La configuration suivante issue de MSDN peut être appliquée pour permettre le traçage sur votre service WCF .

<configuration>
  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel"
              switchValue="Information, ActivityTracing"
              propagateActivity="true" >
        <listeners>
             <add name="xml"/>
        </listeners>
      </source>
      <source name="System.ServiceModel.MessageLogging">
        <listeners>
            <add name="xml"/>
        </listeners>
      </source>
      <source name="myUserTraceSource"
              switchValue="Information, ActivityTracing">
        <listeners>
            <add name="xml"/>
        </listeners>
      </source>
    </sources>
    <sharedListeners>
        <add name="xml"
             type="System.Diagnostics.XmlWriterTraceListener"
             initializeData="Error.svclog" />
    </sharedListeners>
  </system.diagnostics>
</configuration>

Pour afficher le fichier journal, vous pouvez utiliser le fichier "C:\Programmes\Microsoft SDK\Windows\v7.0A\bin\SvcTraceViewer.exe".

Si "SvcTraceViewer.exe" n'est pas sur votre système, vous pouvez le télécharger à partir du package "Kit de développement Microsoft Windows pour Windows 7 et .NET Framework 4" ici:

Téléchargement du SDK Windows

Vous n'avez pas à installer le tout, mais seulement la partie "Développement .NET/Outils".

Quand/si elle explose pendant l'installation avec une erreur non-sensique, Réponse de Petopas à Échec de l'installation du SDK de Windows 7 résolu mon problème.

220
Rohan West

Dans votre web.config (sur le serveur), ajoutez

<system.diagnostics>
 <sources>
  <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">
   <listeners>
    <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\logs\Traces.svclog"/>
   </listeners>
  </source>
 </sources>
</system.diagnostics>
32
Christoph

Accédez à votre répertoire Microsoft SDK. Un chemin comme ça:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools

Ouvrez l'éditeur de configuration WCF (Microsoft Service Configuration Editor) à partir de ce répertoire:

SvcConfigEditor.exe

(une autre option pour ouvrir cet outil consiste à naviguer dans Visual Studio 2017 jusqu'à "Outils"> "Éditeur de configuration de service WCF")

wcf configuration editor

Ouvrez votre fichier .config ou créez-en un nouveau à l’aide de l’éditeur et naviguez jusqu’à Diagnostics.

Là, vous pouvez cliquer sur "Activer MessageLogging".

enable messagelogging

Plus d'infos: https://msdn.Microsoft.com/en-us/library/ms732009 (v = vs.110) .aspx

Avec la visionneuse de trace du même répertoire, vous pouvez ouvrir les fichiers journaux de trace:

SvcTraceViewer.exe

Vous pouvez également activer le traçage à l'aide de WMI. Plus d'infos: https://msdn.Microsoft.com/en-us/library/ms730064 (v = vs.110) .aspx

15
juFo

Au lieu d'ajouter manuellement le bit d'activation de traçage dans web.config, vous pouvez également utiliser l'éditeur de configuration WCF fourni avec VS SDK pour activer le traçage.

https://stackoverflow.com/a/16715631/2218571

1
CSharped