Recuperación de variables supervisadas del almacén de seguimiento de 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 AppFabric de ejemplo, creada para su uso con ejemplos de AppFabric. Para buscarla, navegue hasta la carpeta <samples>\SampleApplication\OrderApplication, donde <samples> 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
Una instalación de Microsoft AppFabric 1.1 para Windows Server con el seguimiento configurado.
Al menos un servicio WCF o WF alojado 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
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.
Abra la solución Visual Studio que se incluye con el ejemplo.
Importante Asegúrese de ejecutarla desde una cuenta con acceso de lectura a la base de datos de seguimiento de AppFabric. Edite el valor de la base de datos en Program.cs para que apunte a la base de datos que desee.
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.
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.
2012-03-05