SqlWorkflowPersistenceService Classe

Définition

Attention

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

Représente un service de persistance qui utilise une base de données SQL pour stocker des informations d'état du workflow.

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
Héritage
Attributs
Implémente

Remarques

Notes

Ce document décrit les types et les espaces de noms qui sont obsolètes. Pour plus d’informations, consultez Types dépréciés dans Windows Workflow Foundation 4.5.

La classe SqlWorkflowPersistenceService représente un service de persistance complètement fonctionnel. Vous pouvez utiliser ce service en l'état pour récupérer des informations d'état concernant une instance de workflow et les rendre persistantes lorsque le moteur d'exécution de workflow le requiert.

SqlWorkflowPersistenceService contribue aux fonctionnalités de traitement par lots de la transaction du workflow fournies par WorkflowCommitWorkBatchService, c'est-à-dire qu'il ajoute à WorkBatch des objets représentant des données en attente d'écriture dans la base de données SQL. Par ailleurs, il implémente l'interface IPendingWork.

SqlWorkflowPersistenceService prend en charge le verrouillage d'instances de workflow. Cette fonctionnalité est utilisée lorsque plusieurs exécutions de workflow partagent la même base de données. L'une des colonnes de la table de base de données SQL est utilisée pour marquer une instance de workflow comme étant verrouillée chaque fois qu'elle est utilisée par une exécution de workflow. SqlWorkflowPersistenceService ne charge aucune instance de workflow marquée comme étant « en cours d'utilisation » par une autre exécution. En règle générale, ces verrous sont libérés lorsque l’instance de workflow est rendue persistante (par exemple, lorsqu’elle est inactive, terminée ou arrêtée). Les verrous peuvent également être libérés automatiquement après une certaine période d’inactivité, qui peut être définie à l'aide du constructeur de la classe SqlWorkflowPersistenceService, ou via le fichier de configuration.

Pour plus d’informations sur les services de persistance en général, consultez la WorkflowPersistenceService classe.

Par exemple, les instances de workflow peuvent contenir des minuteries si elles disposent d'un DelayActivity. Pour les workflows qui contiennent des minuteries, SqlWorkflowPersistenceService enregistre l'heure au moment de l'expiration de la minuterie suivante du workflow. SqlWorkflowPersistenceService interroge régulièrement la base de données pour rechercher les workflows dont les minuteries ont expiré. La fréquence de l'intervalle d'interrogation peut être définie à l'aide du constructeur SqlWorkflowPersistenceService ou en utilisant un fichier de configuration.

Notes

Lors de l'utilisation simultanée de SqlTrackingService et de SqlWorkflowPersistenceService dans une application de workflow, il est recommandé d'utiliser une seule base de données pour la persistance et le suivi.

Constructeurs

SqlWorkflowPersistenceService(NameValueCollection)

Initialise une nouvelle instance de la classe SqlWorkflowPersistenceService en utilisant les paramètres spécifiés.

SqlWorkflowPersistenceService(String)

Initialise une nouvelle instance de la classe SqlWorkflowPersistenceService en utilisant la chaîne de connexion de base de données.

SqlWorkflowPersistenceService(String, Boolean, TimeSpan, TimeSpan)

Initialise une nouvelle instance de la classe SqlWorkflowPersistenceService en utilisant une chaîne de connexion de base de données ainsi que d'autres paramètres.

Propriétés

EnableRetries

Obtient ou définit une valeur qui spécifie si l’objet SqlWorkflowPersistenceService tente à nouveau la validation d’un travail en traitement par lots.

LoadingInterval

Obtient la longueur de l'intervalle de chargement.

Runtime

Obtient WorkflowRuntime pour ce service.

(Hérité de WorkflowRuntimeService)
ServiceInstanceId

Obtient l'identificateur de l'instance de service.

State

Obtient l'état de WorkflowRuntimeService.

(Hérité de WorkflowRuntimeService)

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetAllWorkflows()

Récupère les descriptions d'instance de tous les workflows rendus persistants.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
LoadCompletedContextActivity(Guid, Activity)

Récupère dans la base de données l'étendue achevée spécifiée.

LoadExpiredTimerWorkflowIds()

Récupère la liste des identificateurs qui correspondent aux workflows contenant des minuteries ayant expiré.

LoadWorkflowInstanceState(Guid)

Récupère dans la base de données l'état spécifié de l'instance de workflow.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnStarted()

Démarre une nouvelle minuterie et récupère les instances de workflow en cours d'exécution.

OnStopped()

En cas de substitution dans une classe dérivée, représente la méthode qui est appelée lorsque le moteur d'exécution de workflow déclenche l'événement Stopped.

(Hérité de WorkflowRuntimeService)
RaiseServicesExceptionNotHandledEvent(Exception, Guid)

Déclenche l’événement ServicesExceptionNotHandled.

(Hérité de WorkflowRuntimeService)
SaveCompletedContextActivity(Activity)

Enregistre l'état de l'étendue achevée spécifiée.

SaveWorkflowInstanceState(Activity, Boolean)

Enregistre l'état de l'instance de workflow spécifiée.

Start()

Démarre SqlWorkflowPersistenceService.

Stop()

Arrête le service et la minuterie.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
UnloadOnIdle(Activity)

Renvoie une valeur qui indique si le workflow est déchargé lorsqu'il présente un état d'inactivité.

UnlockWorkflowInstanceState(Activity)

Déverrouille l'accès à l'état de l'instance de workflow spécifié.

Implémentations d’interfaces explicites

IPendingWork.Commit(Transaction, ICollection)

Écrit un ICollection d'objets d'état sérialisés dans la base de données.

IPendingWork.Complete(Boolean, ICollection)

Termine le travail en traitement par lots et libère toutes les ressources.

IPendingWork.MustCommit(ICollection)

Renvoie une valeur indiquant si la collection d’objets d’état sérialisés doit être écrite dans la base de données.

S’applique à