Compartir a través de


Extensión del seguimiento

Download sample

Este ejemplo muestra cómo extender la característica de seguimiento de Windows Communication Foundation (WCF) escribiendo el seguimiento de la actividad definida por el usuario en el código de cliente y de servicio. Esto permite al usuario crear actividades de seguimiento y seguimientos de grupo en las unidades lógicas de trabajo. También es posible poner en correlación las actividades a través de las transferencias (dentro del mismo extremo) y propagación (a través de los extremos). En este ejemplo, el seguimiento se habilita para el cliente y el servicio. Para obtener más información sobre cómo habilitar el seguimiento en los archivos de configuración del cliente y el servicio, consulte Seguimiento y registro de mensajes.

Nota

El procedimiento de instalación y las instrucciones de compilación de este ejemplo se encuentran al final de este tema.

Este ejemplo se basa en el Ejemplo de introducción.

Propagación de seguimiento y de actividad

El seguimiento de actividad definida por el usuario permite al usuario crear sus propias actividades de seguimiento para agrupar seguimientos en unidades lógicas de trabajo, poner en correlación las actividades a través de las transferencias y propagación y disminuir el coste de rendimiento del seguimiento de WCF (por ejemplo, el coste del espacio en disco de un archivo de registro).

Adición de orígenes personalizados

Los seguimientos definidos por el usuario pueden añadirse tanto al código de cliente como de servicio. La adición de orígenes de seguimiento a los archivos de configuración de cliente o servicio permiten que los seguimientos personalizados se graben y se muestren en Service Trace Viewer Tool. El código siguiente muestra cómo agregar un origen de seguimiento definido por el usuario denominado ServiceCalculatorTraceSource al archivo de configuración.

<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>....
....

Cómo poner en correlación las actividades

Para poner en correlación directamente las actividades con los extremos, el atributo propagateActivity debe estar establecido en true en el origen de seguimiento System.ServiceModel. Además, para propagar los seguimientos sin pasar por las actividades de WCF, se debe desactivar el seguimiento de la actividad de ServiceModel. Esto puede verse en el siguiente ejemplo de código:

Nota

Desactivar el seguimiento de actividades de ServiceModel no es igual que tener el nivel de seguimiento, indicado por la propiedad switchValue, definido en desactivado.

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

    ...

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

Disminución del coste de rendimiento

Al establecer ActivityTracing en desactivado en el origen de seguimiento de System.ServiceModel, se genera un archivo de seguimiento que contiene sólo seguimientos de actividad definidos por el usuario sin ninguno de los seguimientos de actividad de ServiceModel incluidos. Esto genera un archivo de registro de mucho menor tamaño. Sin embargo, se pierde la oportunidad de poner en correlación los seguimientos de procesamiento de WCF.

Para configurar, generar y ejecutar el ejemplo

  1. Asegúrese de que ha realizado el Procedimiento de instalación único para ejemplos de Windows Communication Foundation.

  2. Para generar el código C# o Visual Basic .NET Edition de la solución, siga las instrucciones de Generación de ejemplos de Windows Communication Foundation.

  3. Para ejecutar el ejemplo en una configuración de equipos única o cruzada, siga las instrucciones de Ejecución de ejemplos de Windows Communication Foundation.

Footer image

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.