TrackingService Classe

Definizione

Avviso: Obsoleto

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

Fornisce l'interfaccia di base tra un servizio di rilevamento e l'infrastruttura di rilevamento della fase di esecuzione.Provides the basic interface between a tracking service and the run-time tracking infrastructure.

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
Ereditarietà
TrackingService
Derivato
Attributi

Commenti

Nota

In questo materiale vengono descritti tipi e spazi dei nomi obsoleti.This material discusses types and namespaces that are obsolete. Per altre informazioni, vedere Deprecated Types in Windows Workflow Foundation 4.5 (Tipi deprecati in Windows Workflow Foundation 4.5).For more information, see Deprecated Types in Windows Workflow Foundation 4.5.

Un servizio di rilevamento si occupa di fornire i canali e i profili di rilevamento al motore di runtime del flusso di lavoro.A tracking service is responsible for supplying tracking channels and tracking profiles to the workflow run-time engine. Il motore di runtime del flusso di lavoro richiede un oggetto TrackingChannel da un servizio di rilevamento per ogni istanza del flusso di lavoro che dispone di un oggetto TrackingProfile.The workflow run-time engine requests one TrackingChannel from a tracking service for each workflow instance for which it has a TrackingProfile. Il motore di runtime del flusso di lavoro utilizza questo oggetto TrackingChannel per inviare i record di rilevamento associati a tale istanza del flusso di lavoro.The workflow run-time engine uses this TrackingChannel to send tracking records associated with that workflow instance. Un oggetto TrackingProfile contiene i track point che specificano un set di eventi di registrazione per i quali l'infrastruttura di controllo della fase di esecuzione deve inviare record di rilevamento.A TrackingProfile contains track points that specify a set of tracking events for which the run-time tracking infrastructure should send tracking records. TrackingProfile può specificare anche i dati da estrarre dall'istanza del flusso di lavoro quando si verifica uno di questi eventi di registrazione.A TrackingProfile may also specify data to be extracted from the workflow instance when one of these tracking events occurs.

L'infrastruttura di controllo della fase di esecuzione utilizza un oggetto TrackingProfile per filtrare gli eventi di registrazione generati da un'istanza del flusso di lavoro.The run-time tracking infrastructure uses a TrackingProfile to filter tracking events emitted by a workflow instance. Quando viene generato un evento di registrazione che corrisponde a un track point in TrackingProfile, l'infrastruttura di controllo della fase di esecuzione estrae i dati specificati in TrackingProfile dall'istanza del flusso di lavoro e incapsula tali dati e informazioni sull'evento di rilevamento in un record di rilevamento.When a tracking event is emitted that matches a track point in the TrackingProfile, the run-time tracking infrastructure extracts any data specified in the TrackingProfile from the workflow instance and encapsulates this data and information about the tracking event in a tracking record. Questo record di rilevamento viene quindi inviato sul TrackingChannel associato all'istanza del flusso di lavoro.This tracking record is then sent over the TrackingChannel associated with the workflow instance. Un record di rilevamento può corrispondere a uno dei tipi seguenti:A tracking record may be one of the following kinds:

ActivityTrackingRecord

UserTrackingRecord

WorkflowTrackingRecord

L'applicazione host può utilizzare il record di rilevamento nel modo desiderato.The host application can use the tracking record in any way that it chooses. Ad esempio, l'applicazione host può archiviare le informazioni di rilevamento in un database e utilizzarle per implementare un'interfaccia utente sofisticata oppure può utilizzare le informazioni per informare un amministratore di una situazione che richiede il suo intervento.For example, the host application may store the tracking information in a database and use it to implement a sophisticated user interface, or it may use the information to inform an administrator of a condition that requires some action. È possibile registrare un servizio di rilevamento con il motore di runtime del flusso di lavoro chiamando il metodo WorkflowRuntime.AddService oppure includendo la voce appropriata nel file di configurazione dell'applicazione.You can register a tracking service with the workflow run-time engine by calling WorkflowRuntime.AddService or by including the appropriate entry in the application configuration file.

Tutti i servizi di rilevamento devono ereditare dalla classe astratta TrackingService.All tracking services must inherit from the TrackingService abstract class. Questa classe definisce l'interfaccia di base tra un servizio di rilevamento e l'infrastruttura di controllo della fase di esecuzione.This class defines the basic interface between a tracking service and the run-time tracking infrastructure. Il motore di runtime del flusso di lavoro richiede un oggetto TrackingProfile per un oggetto Type di un'istanza del flusso di lavoro o un flusso di lavoro specifico, chiamando uno dei metodi di overload GetProfile oppure il metodo TryGetProfile.The workflow run-time engine requests a TrackingProfile for a specific workflow instance or workflow Type by calling one of the overloaded GetProfile methods or the TryGetProfile method. Il motore di runtime del flusso di lavoro chiama il metodo GetTrackingChannel per richiedere un oggetto TrackingChannel.The workflow run-time engine calls GetTrackingChannel to request a TrackingChannel.

Il runtime del flusso di lavoro chiama i metodi GetProfile e TryGetProfile ogni volta che un'istanza del flusso di lavoro viene creata o caricata dall'archivio di persistenza.The workflow tracking runtime calls the GetProfile and TryGetProfile methods whenever a workflow instance is created or loaded from the persistence store. Gli overhead associati a queste chiamate possono essere costosi per il servizio di rilevamento (molte chiamate al database, ad esempio).The overhead associated with these calls can be costly to the tracking service (many database calls, for example). È possibile implementare l'interfaccia IProfileNotification nel servizio di rilevamento per aggirare questo meccanismo basato sulle chiamate e utilizzare gli eventi per notificare al motore di runtime del flusso di lavoro le modifiche apportate a TrackingProfile.You can implement the IProfileNotification interface in your tracking service to circumvent this call-based mechanism and use events to notify the workflow runtime engine of changes to a TrackingProfile. Per i servizi di rilevamento che implementano l'interfaccia IProfileNotification, il motore di runtime del flusso di lavoro sottoscrive gli eventi ProfileUpdated e ProfileRemoved.For tracking services that implement the IProfileNotification interface, the workflow run-time engine subscribes to the ProfileUpdated and ProfileRemoved events. Il servizio di rilevamento può generare l'evento appropriato quando viene apportata una modifica a uno dei relativi profili di rilevamento.Your tracking service can raise the appropriate event when a change to one of its tracking profiles occurs. La classe SqlTrackingService implementa questa interfaccia.The SqlTrackingService class implements this interface.

Il motore di runtime del flusso di lavoro chiama il metodo TryReloadProfile per testare se un oggetto TrackingProfile è stato aggiornato o rimosso in seguito a una chiamata esplicita effettuata da un host o da un servizio al metodo ReloadTrackingProfiles su un'istanza del flusso di lavoro.The workflow run-time engine calls the TryReloadProfile method to test whether a TrackingProfile has been updated or removed as a result of an explicit call by a host or a service to ReloadTrackingProfiles on a workflow instance. Questo processo consente a un host o a un sevizio di modificare dinamicamente il profilo di rilevamento che si sta utilizzando per un'istanza del flusso di lavoro specifica.This process enables a host or service to dynamically change the tracking profile that is being used for a specific workflow instance.

Note per gli implementatori

-Quando si eredita da TrackingService , è necessario eseguire l'override dei membri seguenti: GetProfile(Guid)- When you inherit from TrackingService, you must override the following members: GetProfile(Guid)

Costruttori

TrackingService()

Quando viene implementato in una classe derivata, inizializza una nuova istanza della classe TrackingService.When implemented in a derived class, initializes a new instance of the TrackingService class.

Proprietà

Runtime

Ottiene la classe WorkflowRuntime per questo servizio.Gets the WorkflowRuntime for this service.

(Ereditato da WorkflowRuntimeService)
State

Ottiene lo stato della classe WorkflowRuntimeService.Gets the state of the WorkflowRuntimeService.

(Ereditato da WorkflowRuntimeService)

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetProfile(Guid)

Deve essere sottoposto a override nella classe derivata e, in caso di implementazione, restituisce il profilo di rilevamento per l'istanza del flusso di lavoro specificata.Must be overridden in the derived class, and when implemented, returns the tracking profile for the specified workflow instance.

GetProfile(Type, Version)

Deve essere sottoposto a override nella classe derivata e, in caso di implementazione, restituisce il profilo di rilevamento, qualificato dalla versione, per il Type di flusso di lavoro specificato.Must be overridden in the derived class, and when implemented, returns the tracking profile, qualified by version, for the specified workflow Type.

GetTrackingChannel(TrackingParameters)

Deve essere sottoposto a override nella classe derivata e, al momento dell'implementazione, restituisce il canale che l'infrastruttura di controllo della fase di esecuzione utilizza per inviare i record di rilevamento al servizio di rilevamento.Must be overridden in the derived class, and when implemented, returns the channel that the run-time tracking infrastructure uses to send tracking records to the tracking service.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
OnStarted()

Quando viene sottoposto a override in una classe derivata, rappresenta il metodo che verrà chiamato quando il motore di runtime del flusso di lavoro genera l'evento Started.When overridden in a derived class, represents the method that will be called when the workflow runtime engine raises the Started event.

(Ereditato da WorkflowRuntimeService)
OnStopped()

Quando viene sottoposto a override in una classe derivata, rappresenta il metodo che verrà chiamato quando il motore di runtime del flusso di lavoro genera l'evento Stopped.When overridden in a derived class, represents the method that will be called when the workflow runtime engine raises the Stopped event.

(Ereditato da WorkflowRuntimeService)
RaiseServicesExceptionNotHandledEvent(Exception, Guid)

Genera l'evento ServicesExceptionNotHandled.Raises the ServicesExceptionNotHandled event.

(Ereditato da WorkflowRuntimeService)
Start()

Quando viene sottoposto a override in una classe derivata, avvia il servizio e modifica la classe State in Starting.When overridden in a derived class, starts the service and changes the State to Starting.

(Ereditato da WorkflowRuntimeService)
Stop()

Quando viene sottoposto a override in una classe derivata, arresta il servizio e modifica la classe State in Stopping.When overridden in a derived class, stops the service and changes the State to Stopping.

(Ereditato da WorkflowRuntimeService)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)
TryGetProfile(Type, TrackingProfile)

Deve essere sottoposto a override nella classe derivata e, in caso di implementazione, recupera il profilo di rilevamento del flusso di lavoro specificato, se disponibile.Must be overridden in the derived class, and when implemented, retrieves the tracking profile for the specified workflow type if one is available.

TryReloadProfile(Type, Guid, TrackingProfile)

Deve essere sottoposto a override nella classe derivata e, in caso di implementazione, recupera un profilo di rilevamento nuovo per l'istanza del flusso di lavoro specificata, se il profilo di rilevamento è stato modificato dall'ultimo caricamento.Must be overridden in the derived class, and when implemented, retrieves a new tracking profile for the specified workflow instance if the tracking profile has changed since it was last loaded.

Si applica a

Vedi anche