WorkflowPersistenceService Classe

Definizione

Attenzione

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

Classe base astratta da cui derivano tutti i servizi di persistenza.

public ref class WorkflowPersistenceService abstract : System::Workflow::Runtime::Hosting::WorkflowRuntimeService
public abstract class WorkflowPersistenceService : 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 WorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
type WorkflowPersistenceService = class
    inherit WorkflowRuntimeService
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowPersistenceService = class
    inherit WorkflowRuntimeService
Public MustInherit Class WorkflowPersistenceService
Inherits WorkflowRuntimeService
Ereditarietà
WorkflowPersistenceService
Derivato
Attributi

Commenti

Note

Questo materiale illustra i tipi e gli spazi dei nomi obsoleti. Per altre informazioni, vedere Deprecated Types in Windows Workflow Foundation 4.5.

Quando si verificano determinate condizioni durante l'esecuzione del flusso di lavoro, il motore di runtime del flusso di lavoro mantiene le informazioni sullo stato relative all'istanza del flusso di lavoro. La persistenza può verificarsi, ad esempio, al termine di una transazione atomica, quando l'istanza del flusso di lavoro diventa inattiva, quando l'host chiama WorkflowInstance.Unload sull'istanza del flusso di lavoro o quando un'istanza del flusso di lavoro viene terminata o terminata. Quando la semantica del motore di runtime del flusso di lavoro determina che deve verificarsi la persistenza, il motore di runtime del flusso di lavoro chiama i metodi forniti da un servizio di persistenza per salvare le informazioni sullo stato relative all'istanza del flusso di lavoro. Analogamente, quando il motore di runtime del flusso di lavoro deve ripristinare un'istanza del flusso di lavoro persistente in precedenza, chiama i metodi forniti dal servizio di persistenza per caricare queste informazioni sullo stato. Il motore di runtime del flusso di lavoro gestisce tutta la semantica relativa all'esecuzione della persistenza. Il servizio di persistenza gestisce effettivamente il salvataggio e il caricamento delle informazioni sullo stato del flusso di lavoro da o verso un archivio dati.

È possibile creare un servizio di persistenza derivando una classe dalla WorkflowPersistenceService classe . È possibile aggiungere il servizio di persistenza al motore di runtime del flusso di lavoro chiamando AddService o effettuando una voce appropriata nel file di configurazione dell'applicazione. Deve WorkflowRuntime contenere un solo servizio di persistenza. Windows Workflow Foundation fornisce la classe SqlWorkflowPersistenceService, un servizio di persistenza risolto, che è possibile usare così come è o estendere.

Il motore di runtime del flusso di lavoro ha una semantica per bloccare le informazioni sullo stato del flusso di lavoro da usare negli ambienti in cui i servizi di persistenza eseguiti in processi diversi potrebbero avere accesso a un singolo archivio dati. La WorkflowPersistenceService classe offre la possibilità di supportare questa funzionalità del motore di runtime del flusso di lavoro fornendo un parametro a SaveWorkflowInstanceState che specifica se le informazioni sullo stato di un'istanza del flusso di lavoro devono essere sbloccate nell'archivio dati e fornendo un metodo UnlockWorkflowInstanceState per sbloccare le informazioni sullo stato del flusso di lavoro bloccate in precedenza. In un servizio di persistenza che implementa il blocco, una chiamata a LoadWorkflowInstanceState deve bloccare le informazioni sullo stato per un'istanza del flusso di lavoro.

Il servizio di persistenza deve generare un'eccezione PersistenceException se non riesce a salvare le informazioni sullo stato nell'archivio dati o caricare le informazioni sullo stato dall'archivio dati. Il motore di runtime del flusso di lavoro prevede questo comportamento.

Viene fornito un meccanismo di invio in batch per i servizi che usano un archivio durevole per salvare le informazioni sullo stato del flusso di lavoro. In questi casi è importante mantenere la coerenza tra l'archivio durevole usato dal servizio di persistenza e lo stato interno del motore di runtime del flusso di lavoro. È possibile aggiungere funzionalità definite dall'interfaccia al servizio e quindi partecipare all'invio in batch delle transazioni del flusso di lavoro fornite da aggiungendo modifiche all'archivio IPendingWorkWorkflowCommitWorkBatchService dati come elementi di lavoro a WorkBatch. L'archivio permanente deve implementare l'interfaccia, in modo che le IEnlistmentNotification informazioni sul flusso di lavoro non vengano mantenute in modo errato in caso di rollback di una transazione. Per altre informazioni, vedere SaveCompletedContextActivity o SaveWorkflowInstanceState.

Costruttori

Nome Descrizione
WorkflowPersistenceService()
Obsoleti.

Se implementato in una classe derivata, inizializza una nuova istanza della WorkflowPersistenceService classe .

Proprietà

Nome Descrizione
Runtime
Obsoleti.

Ottiene l'oggetto WorkflowRuntime per questo servizio.

(Ereditato da WorkflowRuntimeService)
State
Obsoleti.

Ottiene lo stato dell'oggetto WorkflowRuntimeService.

(Ereditato da WorkflowRuntimeService)

Metodi

Nome Descrizione
Equals(Object)
Obsoleti.

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

(Ereditato da Object)
GetDefaultSerializedForm(Activity)
Obsoleti.

Recupera il formato predefinito serializzato dell'oggetto Activity.

GetHashCode()
Obsoleti.

Funge da funzione hash predefinita.

(Ereditato da Object)
GetIsBlocked(Activity)
Obsoleti.

Indica se l'attività specificata è bloccata.

GetSuspendOrTerminateInfo(Activity)
Obsoleti.

Recupera le informazioni di chiusura o sospensione dell'attività specificata.

GetType()
Obsoleti.

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetWorkflowStatus(Activity)
Obsoleti.

Recupera lo stato del flusso di lavoro.

LoadCompletedContextActivity(Guid, Activity)
Obsoleti.

Se implementato in una classe derivata, carica nuovamente l'ambito completato specificato in memoria.

LoadWorkflowInstanceState(Guid)
Obsoleti.

Se implementato in una classe derivata, carica nuovamente in memoria lo stato specificato dell'istanza del flusso di lavoro.

MemberwiseClone()
Obsoleti.

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnStarted()
Obsoleti.

Quando 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 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)
RestoreFromDefaultSerializedForm(Byte[], Activity)
Obsoleti.

Ripristina l'oggetto Activity dal formato serializzato.

SaveCompletedContextActivity(Activity)
Obsoleti.

Se implementato in una classe derivata, salva l'ambito completato specificato in un archivio dati.

SaveWorkflowInstanceState(Activity, Boolean)
Obsoleti.

Se implementato in una classe derivata, salva lo stato dell'istanza del flusso di lavoro in un archivio dati.

Start()
Obsoleti.

Quando sottoposto a override in una classe derivata, avvia il servizio e modifica in StateStarting.

(Ereditato da WorkflowRuntimeService)
Stop()
Obsoleti.

Quando sottoposto a override in una classe derivata, arresta il servizio e modifica in StateStopping.

(Ereditato da WorkflowRuntimeService)
ToString()
Obsoleti.

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UnloadOnIdle(Activity)
Obsoleti.

Determina se un flusso di lavoro deve essere scaricato quando è inattiva.

UnlockWorkflowInstanceState(Activity)
Obsoleti.

Quando sottoposto a override in una classe derivata, sblocca lo stato dell'istanza del flusso di lavoro.

Si applica a