Compartir a través de


Recuperación de variables supervisadas del almacén de seguimiento de Windows Server AppFabric

Este ejemplo muestra cómo usar Entity Framework para recuperar y deserializar variables de flujo de trabajo de seguimiento de la base de datos de seguimiento de AppFabric. A continuación, conocerá algunas de las vistas públicas que expone la base de datos de seguimiento que lo permiten. Este ejemplo funciona con cualquier aplicación. Es recomendable usar la Aplicación común Windows Server AppFabric de ejemplo, creada para su uso con ejemplos de AppFabric. Para buscarla, vaya a la carpeta <ejemplos>\SampleApplication\OrderApplication, donde <ejemplos> representa la ruta de acceso en la que instaló los ejemplos de AppFabric.

Nota

Los ejemplos se proporcionan únicamente con fines de aprendizaje. No están concebidos para su uso en un entorno de producción ni se han probado en este tipo de entorno. Microsoft no proporciona asistencia técnica para estos ejemplos.

Requisitos previos

  • Instalación de Windows Server AppFabric con supervisión configurada.

  • Al menos un servicio WCF o WF hospedado en AppFabric.

Nota

Este ejemplo ilustra mejor las capacidades de seguimiento si el servicio está configurado para realizar el seguimiento de variables de tipo complejo.

Si desea deserializar variables supervisadas de un ensamblado personalizado, asegúrese de agregar el ensamblado (por ejemplo, la aplicación de ejemplo de AppFabric) como referencia al proyecto para que pueda deserializar los objetos correctamente.

Archivos de ejemplo

Este ejemplo incluye los archivos siguientes:

  • Estructura de la solución VS 2010 y archivos de código adicional

  • TrackedWFVariable.cs

  • Program.cs

Configuración y ejecución de este ejemplo

  1. Asegúrese de que se haya realizado el seguimiento y almacenamiento de las variables en la base de datos de seguimiento. Para hacerlo, examine la vista WFEventProperties y compruebe que haya filas.

  2. Abra la solución Visual Studio que se incluye con el ejemplo.

    ImportantImportante
    Asegúrese de ejecutarla desde una cuenta con acceso de lectura a la base de datos de seguimiento de AppFabric.

  3. Edite el valor de la base de datos en Program.cs para que apunte a la base de datos que desee.

  4. Edite el valor que se transfiere al constructor AppFabricMonitoringEntities en Program.cs. De forma predeterminada, apunta a una instancia de SQL Express. Para simplificar, se ha incluido un nombre de instancia SQL estándar en la parte superior del archivo.

  5. Para generar y ejecutar el ejemplo, presione F5.

Descripción de este ejemplo

Program.cs usa Entity Framework para consultar los eventos de flujo de trabajo más recientes de la base de datos. La clase TrackedWFVariable usa el contexto de datos de Entity Framework para conectarse y recuperar las filas de WFEventProperty relacionadas con eventos recientes. A continuación, las propiedades se deserializan en sus tipos originales de .NET. Este proceso varía en función del tipo de objeto que se deserializa.

Los tipos siguientes se almacenan como representación de cadenas sencillas en la columna Value de la vista WFEventProperties:

  • System.String

  • System.Char

  • System.Boolean

  • System.Int32

  • System.Int16

  • System.Int64

  • System.UInt32

  • System.UInt16

  • System.UInt64

  • System.Single

  • System.Double

  • System.Guid

  • System.DateTimeOffset

  • System.DateTime

Para deserializar estos tipos, puede invocar los métodos Parse estáticos que definen y especificar los valores de cadena de caracteres como parámetro. El resto de tipos almacenan sus valores en la columna ValueBlob de la vista WFEventProperties y deben deserializarse mediante System.Runtime.Serialization.NetDataContractSerializer. Para ello, es necesario cargar el ensamblado que indica el tipo que se debe deserializar. De este modo, los objetos se guardan en la base de datos. Así pues, los clientes SQL pueden consultar fácilmente los tipos más sencillos que aparecen al principio.

Eliminación de este ejemplo

Este ejemplo no deja ningún elemento adicional. Si lo desea, puede eliminar los archivos de ejemplo.

  2011-12-05