Partager via


Extending Tracing

Cet exemple montre comment étendre la fonctionnalité de suivi Windows Communication Foundation (WCF) en écrivant les suivis de l'activité définie par l'utilisateur dans le code du client et du service. Cela permet à l'utilisateur de créer des activités de suivi et de regrouper les suivis dans des unités de travail logiques. Il est également possible de mettre en corrélation des activités à travers des transferts (au sein du même point de terminaison) et la propagation (sur plusieurs points de terminaison). Dans cet exemple, le suivi est activé à la fois pour le client et pour le service. Pour plus d'informations sur l'activation du suivi dans les fichiers de configuration du client et du service, consultez Tracing and Message Logging.

Cet exemple est basé sur Getting Started, exemple.

Aa354511.note(fr-fr,VS.100).gifRemarque :
La procédure d'installation ainsi que les instructions de génération correspondant à cet exemple figurent en fin de rubrique.

Aa354511.Important(fr-fr,VS.100).gif Remarque :
Les exemples peuvent déjà être installés sur votre ordinateur. Recherchez le répertoire (par défaut) suivant avant de continuer.

<LecteurInstall>:\WF_WCF_Samples

Si ce répertoire n'existe pas, rendez-vous sur la page (éventuellement en anglais) des exemples Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) pour .NET Framework 4 pour télécharger tous les exemples Windows Communication Foundation (WCF) et WF. Cet exemple se trouve dans le répertoire suivant.

<LecteurInstall>:\WF_WCF_Samples\WCF\Basic\Management\ExtendingTracing

Suivi et propagation d'activité

Le suivi d'activité défini par l'utilisateur permet à l'utilisateur de créer ses propres activités de suivi pour regrouper les suivis dans les unités de travail logiques, mettre en corrélation des activités par transfert et propagation et amoindrir les coûts de performance du suivi WCF (le coût en espace disque d'un fichier journal, par exemple).

Ajout de sources personnalisées

Les suivis définis par l'utilisateur peuvent être ajoutés à la fois au code du client et du service. L'ajout de sources de suivi aux fichiers de configuration du client ou du service permet l'enregistrement et l'affichage de ces suivis personnalisés dans l'Service Trace Viewer Tool (SvcTraceViewer.exe). Le code suivant montre comment ajouter une source de suivi définie par l'utilisateur nommée ServerCalculatorTraceSource au fichier de configuration.

<system.diagnostics>
    <sources>
        <source name="System.ServiceModel" switchValue="Warning" propagateActivity="true">
            <listeners>
                <add type="System.Diagnostics.DefaultTraceListener" name="Default">
                    <filter type="" />
                </add>
                <add name="xml">
                    <filter type="" />
                </add>
            </listeners>
        </source>
        <source name="ServerCalculatorTraceSource" switchValue="Information,ActivityTracing">
            <listeners>
                <add type="System.Diagnostics.DefaultTraceListener" name="Default">
                    <filter type="" />
                </add>
                <add name="xml">
                    <filter type="" />
                </add>
            </listeners>
        </source>
    </sources>
    <sharedListeners>
       <add initializeData="C:\logs\ServerTraces.svclog" type="System.Diagnostics.XmlWriterTraceListener"
        name="xml" traceOutputOptions="Callstack">
            <filter type="" />
        </add>
    </sharedListeners>
    <trace autoflush="true" />
</system.diagnostics>....
....

Mise en corrélation des activités

Pour mettre directement en corrélation des activités sur plusieurs points de terminaison, l'attribut propagateActivity doit avoir la valeur true dans la source du suivi System.ServiceModel. En outre, le suivi d'activité ServiceModel doit être désactivé pour propager des suivis sans traverser des activités WCF. C'est ce qu'illustre l'exemple de code suivant.

Aa354511.note(fr-fr,VS.100).gifRemarque :
La désactivation du suivi d'activité ServiceModel n'équivaut pas à désactiver le niveau de suivi, dénoté par la propriété switchValue.

<system.diagnostics>
    <sources>
      <source name="System.ServiceModel" switchValue="Warning" propagateActivity="true">

    ...

       </source>
    </sources>
</system.diagnostics>

Réduction des coûts de performance

Le fait de désactiver ActivityTracing dans la source de suivi System.ServiceModel génère un fichier de suivi qui contient uniquement les suivis d'activité définis par l'utilisateur, sans inclure les suivis d'activité ServiceModel. Ainsi, le fichier journal est beaucoup moins volumineux. Toutefois, la possibilité de mettre en corrélation les suivis de traitement WCF est perdue.

Pour configurer, générer et exécuter l'exemple

  1. Assurez-vous d'avoir effectué la procédure figurant à la section Procédure d'installation unique pour les exemples Windows Communication Foundation.

  2. Pour générer l'édition C# ou Visual Basic .NET de la solution, conformez-vous aux instructions figurant dans Génération des exemples Windows Communication Foundation.

  3. Pour exécuter l'exemple dans une configuration à un ou plusieurs ordinateurs, conformez-vous aux instructions figurant dans Running the Windows Communication Foundation Samples.

Voir aussi

Autres ressources

Exemples d'analyse AppFabric