SqlWorkflowPersistenceService SqlWorkflowPersistenceService SqlWorkflowPersistenceService SqlWorkflowPersistenceService Class

Definizione

Avviso

Questa API è ora obsoleta.

Rappresenta un servizio di persistenza che utilizza un database SQL per archiviare informazioni sullo stato del flusso di lavoro.Represents a persistence service that uses a SQL database to store workflow state information.

public ref 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
Public Class SqlWorkflowPersistenceService
Inherits WorkflowPersistenceService
Implements IPendingWork
Ereditarietà
Attributi
Implementazioni

Commenti

Nota

In questo materiale vengono descritti tipi e spazi dei nomi obsoleti.This material discusses types and namespaces that are obsolete. Per altre informazioni, vedere Deprecated Types in Windows Workflow Foundation 4.5 (Tipi deprecati in Windows Workflow Foundation 4.5).For more information, see Deprecated Types in Windows Workflow Foundation 4.5.

La classe SqlWorkflowPersistenceService rappresenta un servizio di persistenza dotato di funzionalità complete.The SqlWorkflowPersistenceService class represents a fully-functional persistence service. È 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.You can use this service out-of-box to persist and retrieve workflow state information about a workflow instance when requested to by the workflow runtime engine.

La classe SqlWorkflowPersistenceService partecipa alla funzionalità di recapito in batch delle transazioni del flusso di lavoro fornita dalla classe WorkflowCommitWorkBatchService.The SqlWorkflowPersistenceService participates in the workflow transaction batching functionality provided by the WorkflowCommitWorkBatchService. In altri termini, aggiunge alla proprietà WorkBatch gli oggetti che rappresentano scritture in sospeso nel database SQL e implementa l'interfaccia IPendingWork.That is, it adds objects that represent pending writes to the SQL database to the WorkBatch and implements the IPendingWork interface.

La classe SqlWorkflowPersistenceService supporta il blocco delle istanze del flusso di lavoro.The SqlWorkflowPersistenceService supports locking of workflow instances. Questa funzionalità viene utilizzata quando diversi runtime del flusso di lavoro condividono lo stesso database.This feature is used when several workflow runtimes share the same 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.A column in the SQL database table is used to mark a workflow instance as locked whenever it is being used by a workflow runtime. La classe SqlWorkflowPersistenceService non carica un'istanza del flusso di lavoro contrassegnata come "in uso" da un altro runtime.The SqlWorkflowPersistenceService does not load a workflow instance that is marked as "in use" by another runtime. In genere questi blocchi vengono rilasciati quando l'istanza del flusso di lavoro è persistente, ad esempio, su inattivo, completamento o chiusura.Typically these locks are released when the workflow instance is persisted, for example, on idle, completion, or termination. I blocchi possono essere rilasciati anche automaticamente dopo un periodo di inattività.The locks can also be released automatically after a period of inactivity. Questo periodo di inattività può essere impostato utilizzando il costruttore della classe SqlWorkflowPersistenceService.This period of inactivity can be set using the constructor of the SqlWorkflowPersistenceService class. È possibile impostarlo anche mediante il file di configurazione.It can also be set through the configuration file.

Per altre informazioni sulla persistenza in generale, vedere i servizi di WorkflowPersistenceService classe.For more information about persistence services in general, see the WorkflowPersistenceService class.

Le istanze del flusso di lavoro possono contenere timer, ad esempio, se hanno una classe DelayActivity.Workflow instances can contain timers, for example, if they have a 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.For workflows that contain timers, the SqlWorkflowPersistenceService records the time when the workflow's next timer expires. La classe SqlWorkflowPersistenceService esegue periodicamente il polling del database, cercando flussi di lavoro i cui timer sono scaduti.The SqlWorkflowPersistenceService periodically polls the database, looking for workflows whose timers have expired. La frequenza dell'intervallo di polling può essere impostata utilizzando il costruttore SqlWorkflowPersistenceService oppure un file di configurazione.The frequency of the polling interval can be set using the SqlWorkflowPersistenceService constructor or using a configuration file.

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.When using both the SqlTrackingService and the SqlWorkflowPersistenceService in a workflow application, it is recommended to use a single database for both persistence and tracking.

Costruttori

SqlWorkflowPersistenceService(NameValueCollection) SqlWorkflowPersistenceService(NameValueCollection) SqlWorkflowPersistenceService(NameValueCollection) SqlWorkflowPersistenceService(NameValueCollection)

Inizializza una nuova istanza della classe SqlWorkflowPersistenceService tramite i parametri specificati.Initializes a new instance of the SqlWorkflowPersistenceService class by using the specified parameters.

SqlWorkflowPersistenceService(String) SqlWorkflowPersistenceService(String) SqlWorkflowPersistenceService(String) SqlWorkflowPersistenceService(String)

Inizializza una nuova istanza della classe SqlWorkflowPersistenceService mediante l'utilizzo della stringa di connessione del database.Initializes a new instance of the SqlWorkflowPersistenceService class by using the database connection string.

SqlWorkflowPersistenceService(String, Boolean, TimeSpan, TimeSpan) SqlWorkflowPersistenceService(String, Boolean, TimeSpan, TimeSpan) SqlWorkflowPersistenceService(String, Boolean, TimeSpan, TimeSpan) SqlWorkflowPersistenceService(String, Boolean, TimeSpan, TimeSpan)

Inizializza una nuova istanza della classe SqlWorkflowPersistenceService mediante l'utilizzo di una stringa di connessione del database e di altri parametri.Initializes a new instance of the SqlWorkflowPersistenceService class using a database connection string and other parameters.

Proprietà

EnableRetries EnableRetries EnableRetries EnableRetries

Ottiene o imposta un valore che specifica se SqlWorkflowPersistenceService ritenterà l'esecuzione del commit di un batch di lavoro.Gets or sets a value that specifies whether the SqlWorkflowPersistenceService retries committing a work batch.

LoadingInterval LoadingInterval LoadingInterval LoadingInterval

Ottiene la lunghezza dell'intervallo di caricamento.Gets the length of the loading interval.

Runtime Runtime Runtime Runtime

Ottiene la classe WorkflowRuntime per questo servizio.Gets the WorkflowRuntime for this service.

(Inherited from WorkflowRuntimeService)
ServiceInstanceId ServiceInstanceId ServiceInstanceId ServiceInstanceId

Ottiene l'identificatore dell'istanza di servizio.Gets the service instance identifier.

State State State State

Ottiene lo stato della classe WorkflowRuntimeService.Gets the state of the WorkflowRuntimeService.

(Inherited from WorkflowRuntimeService)

Metodi

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetAllWorkflows() GetAllWorkflows() GetAllWorkflows() GetAllWorkflows()

Recupera le descrizioni dell'istanza di tutti i flussi di lavoro persistenti.Retrieves instance descriptions of all persisted workflows.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
LoadCompletedContextActivity(Guid, Activity) LoadCompletedContextActivity(Guid, Activity) LoadCompletedContextActivity(Guid, Activity) LoadCompletedContextActivity(Guid, Activity)

Recupera l'ambito completato specificato dal database.Retrieves the specified completed scope from the database.

LoadExpiredTimerWorkflowIds() LoadExpiredTimerWorkflowIds() LoadExpiredTimerWorkflowIds() LoadExpiredTimerWorkflowIds()

Recupera un elenco di ID per i flussi di lavoro con i timer scaduti.Retrieves a list of ids for workflows with expired timers.

LoadWorkflowInstanceState(Guid) LoadWorkflowInstanceState(Guid) LoadWorkflowInstanceState(Guid) LoadWorkflowInstanceState(Guid)

Recupera lo stato dell'istanza del flusso di lavoro specificato dal database.Retrieves the specified workflow instance state from the database.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
OnStarted() OnStarted() OnStarted() OnStarted()

Avvia un nuovo timer e recupera le istanze del flusso di lavoro in esecuzione.Starts a new timer and recovers running workflow instances.

OnStopped() OnStopped() OnStopped() OnStopped()

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.When overridden in a derived class, represents the method that will be called when the workflow runtime engine raises the Stopped event.

(Inherited from WorkflowRuntimeService)
RaiseServicesExceptionNotHandledEvent(Exception, Guid) RaiseServicesExceptionNotHandledEvent(Exception, Guid) RaiseServicesExceptionNotHandledEvent(Exception, Guid) RaiseServicesExceptionNotHandledEvent(Exception, Guid)

Genera l'evento ServicesExceptionNotHandled.Raises the ServicesExceptionNotHandled event.

(Inherited from WorkflowRuntimeService)
SaveCompletedContextActivity(Activity) SaveCompletedContextActivity(Activity) SaveCompletedContextActivity(Activity) SaveCompletedContextActivity(Activity)

Salva lo stato dell'ambito completato specificato.Saves the state of the specified completed scope.

SaveWorkflowInstanceState(Activity, Boolean) SaveWorkflowInstanceState(Activity, Boolean) SaveWorkflowInstanceState(Activity, Boolean) SaveWorkflowInstanceState(Activity, Boolean)

Salva lo stato dell'istanza del flusso di lavoro specificato.Saves the specified workflow instance state.

Start() Start() Start() Start()

Avvia SqlWorkflowPersistenceService.Starts the SqlWorkflowPersistenceService.

Stop() Stop() Stop() Stop()

Arresta il servizio e il timer.Stops the service and the timer.

ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)
UnloadOnIdle(Activity) UnloadOnIdle(Activity) UnloadOnIdle(Activity) UnloadOnIdle(Activity)

Restituisce un valore che indica se il flusso di lavoro viene scaricato quando è in stato di inattività.Returns a value that indicates whether the workflow is unloaded when it is in an idle state.

UnlockWorkflowInstanceState(Activity) UnlockWorkflowInstanceState(Activity) UnlockWorkflowInstanceState(Activity) UnlockWorkflowInstanceState(Activity)

Sblocca l'accesso allo stato dell'istanza del flusso di lavoro specificato.Unlocks access to the specified workflow instance state.

Implementazioni dell'interfaccia esplicita

IPendingWork.Commit(Transaction, ICollection) IPendingWork.Commit(Transaction, ICollection) IPendingWork.Commit(Transaction, ICollection) IPendingWork.Commit(Transaction, ICollection)

Scrive un'interfaccia ICollection di oggetti di stato serializzati nel database.Writes an ICollection of serialized state objects to the database.

IPendingWork.Complete(Boolean, ICollection) IPendingWork.Complete(Boolean, ICollection) IPendingWork.Complete(Boolean, ICollection) IPendingWork.Complete(Boolean, ICollection)

Completa il batch di lavoro e rilascia le risorse.Completes the work batch and releases any resources.

IPendingWork.MustCommit(ICollection) IPendingWork.MustCommit(ICollection) IPendingWork.MustCommit(ICollection) IPendingWork.MustCommit(ICollection)

Restituisce un valore che indica se la raccolta di oggetti di stato serializzati deve essere scritta nel database.Returns a value that indicates whether the collection of serialized state objects should be written to the database.

Si applica a