TrackingService Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Precaución
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Proporciona la interfaz básica entre un servicio de seguimiento y la infraestructura de seguimiento en tiempo de ejecución.
public ref class TrackingService abstract : System::Workflow::Runtime::Hosting::WorkflowRuntimeService
public abstract class TrackingService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
[System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
public abstract class TrackingService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
type TrackingService = class
inherit WorkflowRuntimeService
[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]
type TrackingService = class
inherit WorkflowRuntimeService
Public MustInherit Class TrackingService
Inherits WorkflowRuntimeService
- Herencia
- Derivado
- Atributos
Comentarios
Nota
En esta documentación se describen los tipos y espacios de nombres que están obsoletos. Para obtener más información, vea Tipos en desuso en Windows Workflow Foundation 4.5.
Un servicio de seguimiento se encarga de proporcionar canales de seguimiento y perfiles de seguimiento al motor en tiempo de ejecución del flujo de trabajo. El motor de tiempo de ejecución del flujo de trabajo solicita un TrackingChannel de un servicio de seguimiento para cada instancia de flujo de trabajo para la que tiene un TrackingProfile. El motor en tiempo de ejecución del flujo de trabajo usa este TrackingChannel para enviar registros de seguimiento asociados a esa instancia de flujo de trabajo. TrackingProfile contiene puntos de seguimiento que especifican un conjunto de eventos de seguimiento para los que la infraestructura de seguimiento en tiempo de ejecución debe enviar registros de seguimiento. TrackingProfile también puede especificar datos que se van a extraer de la instancia de flujo de trabajo cuando se produce uno de estos eventos de seguimiento.
La infraestructura de seguimiento en tiempo de ejecución utiliza TrackingProfile para filtrar eventos de seguimiento emitidos por una instancia de flujo de trabajo. Cuando se emite un evento de seguimiento que coincide con un punto de seguimiento en el TrackingProfile, la infraestructura de seguimiento en tiempo de ejecución extrae los datos especificados en TrackingProfile de la instancia de flujo de trabajo y encapsula estos datos e información acerca del evento de seguimiento en un registro de seguimiento. A continuación, este registro de seguimiento se envía a través del TrackingChannel asociado a la instancia de flujo de trabajo. Un registro del seguimiento puede ser de uno de los tipos siguientes:
La aplicación host puede utilizar el registro de seguimiento de la forma que elija. Por ejemplo, la aplicación host puede almacenar la información de seguimiento en una base de datos y usarla para implementar una interfaz de usuario sofisticada o puede utilizar la información para informar a un administrador de una condición que requiere realizar alguna acción. Puede registrar un servicio de seguimiento con el motor en tiempo de ejecución del flujo de trabajo llamando a WorkflowRuntime.AddService o incluyendo la entrada adecuada en el archivo de configuración de la aplicación.
Todos los servicios de seguimiento deben heredar de la clase abstracta TrackingService. Esta clase define la interfaz básica entre un servicio de seguimiento y la infraestructura de seguimiento en tiempo de ejecución. El motor en tiempo de ejecución del flujo de trabajo solicita un TrackingProfile para un flujo de trabajo o instancia de flujo de trabajo concreta Type llamando a uno de los métodos GetProfile sobrecargados o al método TryGetProfile. El motor en tiempo de ejecución del flujo de trabajo llama a GetTrackingChannel para solicitar TrackingChannel.
El motor en tiempo de ejecución del flujo de seguimiento llama a los métodos GetProfile y TryGetProfile cada vez que una instancia de flujo de trabajo se crea o se carga desde el almacén de persistencia. La sobrecarga asociada a estas llamadas puede ser costosa para el servicio de seguimiento (muchas llamadas a la base de datos, por ejemplo). Puede implementar la interfaz IProfileNotification en su servicio de seguimiento para sortear este mecanismo basado en llamadas y usar eventos para notificar al motor en tiempo de ejecución del flujo de trabajo de cambios en TrackingProfile. Para los servicios de seguimiento que implementan la interfaz IProfileNotification, el motor en tiempo de ejecución del flujo de trabajo se suscribe a los eventos ProfileUpdated y ProfileRemoved. El servicio de seguimiento puede generar el evento adecuado cuando se produce un cambio en uno de sus perfiles de seguimiento. La clase SqlTrackingService implementa esta interfaz.
El motor en tiempo de ejecución del flujo de trabajo llama al método TryReloadProfile para probar si se actualizó o se quitó un TrackingProfile como resultado de una llamada explícita por parte de un host o un servicio a ReloadTrackingProfiles en una instancia de flujo de trabajo. Este proceso permite a un host o servicio cambiar dinámicamente el perfil de seguimiento que se utiliza para una instancia de flujo de trabajo concreta.
Notas a los implementadores
Al heredar de TrackingService, debe invalidar los siguientes miembros: GetProfile(Guid)
Constructores
TrackingService() |
Obsoletos.
Cuando se implementa en una clase derivada, inicializa una instancia nueva de la clase TrackingService. |
Propiedades
Runtime |
Obsoletos.
Obtiene WorkflowRuntime para este servicio. (Heredado de WorkflowRuntimeService) |
State |
Obsoletos.
Obtiene el estado del objeto WorkflowRuntimeService. (Heredado de WorkflowRuntimeService) |
Métodos
Equals(Object) |
Obsoletos.
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Obsoletos.
Sirve como la función hash predeterminada. (Heredado de Object) |
GetProfile(Guid) |
Obsoletos.
Se debe invalidar en la clase derivada y, cuando se implementa, devuelve el perfil de seguimiento para la instancia de flujo de trabajo especificada. |
GetProfile(Type, Version) |
Obsoletos.
Se debe invalidar en la clase derivada y, cuando se implementa, devuelve el perfil de seguimiento, calificado por versión, para el Type del flujo de trabajo especificado. |
GetTrackingChannel(TrackingParameters) |
Obsoletos.
Se debe invalidar en la clase derivada y, cuando se implementa, devuelve el canal que la infraestructura de seguimiento en tiempo de ejecución utiliza para enviar registros de seguimiento al servicio de seguimiento. |
GetType() |
Obsoletos.
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Obsoletos.
Crea una copia superficial del Object actual. (Heredado de Object) |
OnStarted() |
Obsoletos.
Cuando se invalida en una clase derivada, representa el método al que se llamará cuando el motor en tiempo de ejecución de flujo de trabajo genere el evento Started. (Heredado de WorkflowRuntimeService) |
OnStopped() |
Obsoletos.
Cuando se invalida en una clase derivada, representa el método al que se llamará cuando el motor en tiempo de ejecución de flujo de trabajo genere el evento Stopped. (Heredado de WorkflowRuntimeService) |
RaiseServicesExceptionNotHandledEvent(Exception, Guid) |
Obsoletos.
Genera el evento ServicesExceptionNotHandled. (Heredado de WorkflowRuntimeService) |
Start() |
Obsoletos.
Cuando se invalida en una clase derivada, inicia el servicio y cambia State a Starting. (Heredado de WorkflowRuntimeService) |
Stop() |
Obsoletos.
Cuando se invalida en una clase derivada, detiene el servicio y cambia State a Stopping. (Heredado de WorkflowRuntimeService) |
ToString() |
Obsoletos.
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
TryGetProfile(Type, TrackingProfile) |
Obsoletos.
Se debe invalidar en la clase derivada y, cuando se implementa, recupera el perfil de seguimiento para el tipo de flujo de trabajo especificado, si hay uno disponible. |
TryReloadProfile(Type, Guid, TrackingProfile) |
Obsoletos.
Se debe invalidar en la clase derivada y, cuando se implementa, recupera un nuevo perfil de seguimiento para la instancia de flujo de trabajo especificada si el perfil de seguimiento cambió desde que se cargó por última vez. |