Condividi tramite


WorkflowPersistenceService Classe

Definizione

Attenzione

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

Le classe di base astratta dalla quale vengono derivati 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

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

Quando si verificano determinate condizioni mentre il flusso di lavoro è in esecuzione, il motore di runtime del flusso di lavoro imposta come persistenti le informazioni sullo stato relative all'istanza del flusso di lavoro. Può verificarsi la persistenza, ad esempio, quando finisce 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 si conclude. Quando la semantica del motore di runtime del flusso di lavoro stabilisce che si verifichi 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 precedentemente impostata come persistente, chiama i metodi forniti da un servizio di persistenza per caricare queste informazioni sullo stato. Il motore di runtime del flusso di lavoro gestisce tutta la semantica che definisce quando eseguire la persistenza. Il servizio di persistenza gestisce le operazioni di salvataggio e 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 classe WorkflowPersistenceService. È possibile aggiungere il servizio di persistenza al motore di runtime del flusso di lavoro chiamando AddService o creando una voce adatta nel file di configurazione dell'applicazione. WorkflowRuntime deve contenere solo un servizio di persistenza. In Windows Workflow Foundation è disponibile la classe SqlWorkflowPersistenceService, un servizio di persistenza predefinito che può essere utilizzato direttamente o dopo essere stato esteso.

Il motore di runtime del flusso di lavoro dispone della semantica necessaria per bloccare le informazioni sullo stato del flusso di lavoro negli ambienti in cui i servizi di persistenza che sono in esecuzione in processi diversi possono avere accesso a un solo archivio dati. La classe WorkflowPersistenceService fornisce le capacità necessarie per 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 informazioni sullo stato del flusso di lavoro precedentemente bloccate. 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 informazioni sullo stato nell'archivio dati o a caricare informazioni sullo stato dall'archivio dati. Questo è il comportamento previsto dal motore di runtime del flusso di lavoro.

Un meccanismo di inclusione in batch è disponibile per i servizi che utilizzano un archivio durevole per salvare le informazioni sullo stato del flusso di lavoro. È importante in questi casi mantenere la coerenza tra l'archivio durevole utilizzato dal servizio di persistenza e lo stato interno del motore di runtime del flusso di lavoro. È possibile aggiungere la funzionalità definita dall'interfaccia IPendingWork al servizio e quindi partecipare all'inclusione in batch delle transazioni del flusso di lavoro fornita da WorkflowCommitWorkBatchService aggiungendo modifiche all'archivio dati come elementi di lavoro in WorkBatch. Anche l'archivio durevole deve implementare l'interfaccia IEnlistmentNotification, in modo che le informazioni del flusso di lavoro non vengano erroneamente rese persistenti nel caso di un rollback della transazione. Per altre informazioni, vedere SaveCompletedContextActivity o SaveWorkflowInstanceState.

Costruttori

WorkflowPersistenceService()
Obsoleti.

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

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)
GetDefaultSerializedForm(Activity)
Obsoleti.

Recupera il form predefinito serializzato di 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 l'oggetto 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 di nuovo l'ambito completato specificato in memoria.

LoadWorkflowInstanceState(Guid)
Obsoleti.

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

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

Ripristina la classe Activity dal form 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 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)
UnloadOnIdle(Activity)
Obsoleti.

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

UnlockWorkflowInstanceState(Activity)
Obsoleti.

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

Si applica a