Condividi tramite


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 usa un database SQL per archiviare le 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

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

La classe SqlWorkflowPersistenceService rappresenta un servizio di persistenza completamente funzionale. È possibile usare questo servizio predefinito per rendere persistenti e recuperare informazioni sullo stato del flusso di lavoro relative a un'istanza del flusso di lavoro quando richiesto dal motore di runtime del flusso di lavoro.

Il SqlWorkflowPersistenceService partecipa alla funzionalità di invio in batch delle transazioni del flusso di lavoro fornita dal WorkflowCommitWorkBatchService. Ovvero aggiunge oggetti che rappresentano scritture in sospeso nel database SQL nel WorkBatch e implementa l'interfaccia IPendingWork.

Il SqlWorkflowPersistenceService supporta il blocco delle istanze del flusso di lavoro. Questa funzionalità viene usata quando diversi runtime del flusso di lavoro condividono lo stesso database. Una colonna nella tabella di database SQL viene usata per contrassegnare un'istanza del flusso di lavoro come bloccata ogni volta che viene usata da un runtime del flusso di lavoro. Il 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 viene mantenuta, ad esempio in caso di inattività, completamento o terminazione. I blocchi possono anche essere rilasciati automaticamente dopo un periodo di inattività. Questo periodo di inattività può essere impostato usando il costruttore della classe SqlWorkflowPersistenceService. Può anche essere impostato tramite il file di configurazione.

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

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

Nota

Quando si usano sia il SqlTrackingService che il SqlWorkflowPersistenceService in un'applicazione del flusso di lavoro, è consigliabile usare un singolo database per la persistenza e il rilevamento.

Costruttori

SqlWorkflowPersistenceService(NameValueCollection)
Obsoleti.

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

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

Inizializza una nuova istanza della classe SqlWorkflowPersistenceService utilizzando una stringa di connessione del database e altri parametri.

SqlWorkflowPersistenceService(String)
Obsoleti.

Inizializza una nuova istanza della classe SqlWorkflowPersistenceService utilizzando la stringa di connessione del database.

Proprietà

EnableRetries
Obsoleti.

Ottiene o imposta un valore che specifica se il SqlWorkflowPersistenceService ritenta il commit di un batch di lavoro.

LoadingInterval
Obsoleti.

Ottiene la lunghezza dell'intervallo di caricamento.

Runtime
Obsoleti.

Ottiene il WorkflowRuntime per questo servizio.

(Ereditato da WorkflowRuntimeService)
ServiceInstanceId
Obsoleti.

Ottiene l'identificatore dell'istanza del servizio.

State
Obsoleti.

Ottiene lo stato del 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 delle istanze di tutti i flussi di lavoro persistenti.

GetHashCode()
Obsoleti.

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()
Obsoleti.

Ottiene il 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 timer scaduti.

LoadWorkflowInstanceState(Guid)
Obsoleti.

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

MemberwiseClone()
Obsoleti.

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnStarted()
Obsoleti.

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

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)
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 il 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 si trova in uno 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 ICollection di oggetti di stato serializzati nel database.

IPendingWork.Complete(Boolean, ICollection)
Obsoleti.

Completa il batch di lavoro e rilascia tutte 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