TrackingService Classe

Definizione

Attenzione

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.

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. Per altre informazioni, vedere Deprecated Types in Windows Workflow Foundation 4.5 (Tipi deprecati 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. 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. 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. 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. TrackingProfile può specificare anche i dati da estrarre dall'istanza del flusso di lavoro quando si verifica uno di questi eventi di registrazione.

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. 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. Questo record di rilevamento viene quindi inviato sul TrackingChannel associato all'istanza del flusso di lavoro. Un record di rilevamento può corrispondere a uno dei tipi seguenti:

ActivityTrackingRecord

UserTrackingRecord

WorkflowTrackingRecord

L'applicazione host può utilizzare il record di rilevamento nel modo desiderato. 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. È 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.

Tutti i servizi di rilevamento devono ereditare dalla classe astratta TrackingService. Questa classe definisce l'interfaccia di base tra un servizio di rilevamento e l'infrastruttura di controllo della fase di esecuzione. 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. Il motore di runtime del flusso di lavoro chiama il metodo GetTrackingChannel per richiedere un oggetto 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. Gli overhead associati a queste chiamate possono essere costosi per il servizio di rilevamento (molte chiamate al database, ad esempio). È 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. Per i servizi di rilevamento che implementano l'interfaccia IProfileNotification, il motore di runtime del flusso di lavoro sottoscrive gli eventi ProfileUpdated e ProfileRemoved. Il servizio di rilevamento può generare l'evento appropriato quando viene apportata una modifica a uno dei relativi profili di rilevamento. La classe SqlTrackingService implementa questa interfaccia.

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

Note per gli implementatori

Costruttori

TrackingService()
Obsoleti.

Quando viene implementato in una classe derivata, inizializza una nuova istanza della classe TrackingService.

Proprietà

Runtime
Obsoleti.

Ottiene la classe WorkflowRuntime per questo servizio.

(Ereditato da WorkflowRuntimeService)
State
Obsoleti.

Ottiene lo stato della classe WorkflowRuntimeService.

(Ereditato da WorkflowRuntimeService)

Metodi

Equals(Object)
Obsoleti.

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()
Obsoleti.

Funge da funzione hash predefinita.

(Ereditato da Object)
GetProfile(Guid)
Obsoleti.

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.

GetProfile(Type, Version)
Obsoleti.

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.

GetTrackingChannel(TrackingParameters)
Obsoleti.

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.

GetType()
Obsoleti.

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()
Obsoleti.

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnStarted()
Obsoleti.

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.

(Ereditato da WorkflowRuntimeService)
OnStopped()
Obsoleti.

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.

(Ereditato da WorkflowRuntimeService)
RaiseServicesExceptionNotHandledEvent(Exception, Guid)
Obsoleti.

Genera l'evento ServicesExceptionNotHandled.

(Ereditato da WorkflowRuntimeService)
Start()
Obsoleti.

Quando viene sottoposto a override in una classe derivata, avvia il servizio e modifica la classe State in Starting.

(Ereditato da WorkflowRuntimeService)
Stop()
Obsoleti.

Quando viene sottoposto a override in una classe derivata, arresta il servizio e modifica la classe State in Stopping.

(Ereditato da WorkflowRuntimeService)
ToString()
Obsoleti.

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TryGetProfile(Type, TrackingProfile)
Obsoleti.

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.

TryReloadProfile(Type, Guid, TrackingProfile)
Obsoleti.

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.

Si applica a

Vedi anche