SqlWorkflowPersistenceService Classe

Definizione

Attenzione

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

Rappresenta un servizio di persistenza che utilizza un database SQL per archiviare informazioni sullo stato del flusso di lavoro.

public ref class SqlWorkflowPersistenceService : System::Workflow::Runtime::Hosting::WorkflowPersistenceService, System::Workflow::Runtime::IPendingWork
public class SqlWorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowPersistenceService, System.Workflow.Runtime.IPendingWork
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class SqlWorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowPersistenceService, System.Workflow.Runtime.IPendingWork
type SqlWorkflowPersistenceService = class
    inherit WorkflowPersistenceService
    interface IPendingWork
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type SqlWorkflowPersistenceService = class
    inherit WorkflowPersistenceService
    interface IPendingWork
Public Class SqlWorkflowPersistenceService
Inherits WorkflowPersistenceService
Implements IPendingWork
Ereditarietà
Attributi
Implementazioni

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

La classe SqlWorkflowPersistenceService rappresenta un servizio di persistenza dotato di funzionalità complete. È possibile utilizzare questo servizio predefinito per salvare in modo permanente e recuperare le informazioni sullo stato del flusso di lavoro relative a un'istanza di quest'ultimo quando richiesto dal motore di runtime del flusso di lavoro.

La classe SqlWorkflowPersistenceService partecipa alla funzionalità di recapito in batch delle transazioni del flusso di lavoro fornita dalla classe WorkflowCommitWorkBatchService. In altri termini, aggiunge alla proprietà WorkBatch gli oggetti che rappresentano scritture in sospeso nel database SQL e implementa l'interfaccia IPendingWork.

La classe SqlWorkflowPersistenceService supporta il blocco delle istanze del flusso di lavoro. Questa funzionalità viene utilizzata quando diversi runtime del flusso di lavoro condividono lo stesso database. Una colonna all'interno della tabella del database SQL viene utilizzata per contrassegnare come bloccata un'istanza del flusso di lavoro ogni volta che viene utilizzata da un runtime del flusso di lavoro. La classe SqlWorkflowPersistenceService non carica un'istanza del flusso di lavoro contrassegnata come "in uso" da un altro runtime. In genere questi blocchi vengono rilasciati quando l'istanza del flusso di lavoro è persistente, ad esempio, su inattivo, completamento o chiusura. I blocchi possono essere rilasciati anche automaticamente dopo un periodo di inattività. Questo periodo di inattività può essere impostato utilizzando il costruttore della classe SqlWorkflowPersistenceService. È possibile impostarlo anche mediante il file di configurazione.

Per altre informazioni sui servizi di persistenza in generale, vedere la WorkflowPersistenceService classe .

Le istanze del flusso di lavoro possono contenere timer, ad esempio, se hanno una classe DelayActivity. Per i flussi di lavoro che contengono timer, l'oggetto SqlWorkflowPersistenceService registra l'ora in cui scade il successivo timer del flusso di lavoro. La classe SqlWorkflowPersistenceService esegue periodicamente il polling del database, cercando flussi di lavoro i cui timer sono scaduti. La frequenza dell'intervallo di polling può essere impostata utilizzando il costruttore SqlWorkflowPersistenceService oppure un file di configurazione.

Nota

Quando si utilizzano gli oggetti SqlTrackingService e SqlWorkflowPersistenceService in un'applicazione del flusso di lavoro, è consigliabile utilizzare un unico database per la persistenza e il rilevamento.

Costruttori

SqlWorkflowPersistenceService(NameValueCollection)
Obsoleti.

Inizializza una nuova istanza della classe SqlWorkflowPersistenceService tramite i parametri specificati.

SqlWorkflowPersistenceService(String)
Obsoleti.

Inizializza una nuova istanza della classe SqlWorkflowPersistenceService mediante l'utilizzo della stringa di connessione del database.

SqlWorkflowPersistenceService(String, Boolean, TimeSpan, TimeSpan)
Obsoleti.

Inizializza una nuova istanza della classe SqlWorkflowPersistenceService mediante l'utilizzo di una stringa di connessione del database e di altri parametri.

Proprietà

EnableRetries
Obsoleti.

Ottiene o imposta un valore che specifica se SqlWorkflowPersistenceService ritenterà l'esecuzione del commit di un batch di lavoro.

LoadingInterval
Obsoleti.

Ottiene la lunghezza dell'intervallo di caricamento.

Runtime
Obsoleti.

Ottiene la classe WorkflowRuntime per questo servizio.

(Ereditato da WorkflowRuntimeService)
ServiceInstanceId
Obsoleti.

Ottiene l'identificatore dell'istanza di servizio.

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

Recupera le descrizioni dell'istanza di tutti i flussi di lavoro persistenti.

GetHashCode()
Obsoleti.

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()
Obsoleti.

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
LoadCompletedContextActivity(Guid, Activity)
Obsoleti.

Recupera l'ambito completato specificato dal database.

LoadExpiredTimerWorkflowIds()
Obsoleti.

Recupera un elenco di ID per i flussi di lavoro con i timer scaduti.

LoadWorkflowInstanceState(Guid)
Obsoleti.

Recupera lo stato dell'istanza del flusso di lavoro specificato dal database.

MemberwiseClone()
Obsoleti.

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnStarted()
Obsoleti.

Avvia un nuovo timer e recupera le istanze del flusso di lavoro in esecuzione.

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

Salva lo stato dell'ambito completato specificato.

SaveWorkflowInstanceState(Activity, Boolean)
Obsoleti.

Salva lo stato dell'istanza del flusso di lavoro specificato.

Start()
Obsoleti.

Avvia SqlWorkflowPersistenceService.

Stop()
Obsoleti.

Arresta il servizio e il timer.

ToString()
Obsoleti.

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UnloadOnIdle(Activity)
Obsoleti.

Restituisce un valore che indica se il flusso di lavoro viene scaricato quando è in stato di inattività.

UnlockWorkflowInstanceState(Activity)
Obsoleti.

Sblocca l'accesso allo stato dell'istanza del flusso di lavoro specificato.

Implementazioni dell'interfaccia esplicita

IPendingWork.Commit(Transaction, ICollection)
Obsoleti.

Scrive un'interfaccia ICollection di oggetti di stato serializzati nel database.

IPendingWork.Complete(Boolean, ICollection)
Obsoleti.

Completa il batch di lavoro e rilascia le risorse.

IPendingWork.MustCommit(ICollection)
Obsoleti.

Restituisce un valore che indica se la raccolta di oggetti di stato serializzati deve essere scritta nel database.

Si applica a