Partage via


WorkflowApplication.Persist Méthode

Définition

Rend une instance de flux de travail persistante dans un magasin d'instances.

Surcharges

Persist()

Rend une instance de flux de travail persistante dans un magasin d'instances.

Persist(TimeSpan)

Rend une instance de flux de travail persistante dans un magasin d'instances avec l'intervalle de délai d'attente spécifié.

Remarques

Si l'instance de workflow a été précédemment chargée à partir d'un point de persistance, alors, le même InstanceStore utilisé pour charger le workflow est utilisé pour la persistance. Si le workflow a été créé et n'a pas encore été rendu persistant, alors un InstanceStore doit être configuré avant d'appeler cette méthode ou bien une exception InvalidOperationException est levée lorsque cette méthode est appelée.

Persist()

Rend une instance de flux de travail persistante dans un magasin d'instances.

public:
 void Persist();
public void Persist ();
member this.Persist : unit -> unit
Public Sub Persist ()

Exemples

L'exemple suivant appelle Persist pour rendre une instance de flux de travail persistante avant le démarrage du flux de travail.

WorkflowApplication application = new WorkflowApplication(activity);

application.InstanceStore = instanceStore;

//returning IdleAction.Unload instructs the WorkflowApplication to persists application state and remove it from memory
application.PersistableIdle = (e) =>
{
    return PersistableIdleAction.Unload;
};

application.Unloaded = (e) =>
{
    instanceUnloaded.Set();
};

//This call is not required
//Calling persist here captures the application durably before it has been started
application.Persist();
id = application.Id;
application.Run();

instanceUnloaded.WaitOne();

Remarques

Si l'opération de persistance n'est pas exécutée dans un délai de 30 secondes, une exception TimeoutException est levée.

Si l'instance de workflow a été précédemment chargée à partir d'un point de persistance, alors, le même InstanceStore utilisé pour charger le workflow est utilisé pour la persistance. Si le workflow a été créé et n'a pas encore été rendu persistant, alors un InstanceStore doit être configuré avant d'appeler cette méthode ou bien une exception InvalidOperationException est levée lorsque cette méthode est appelée.

S’applique à

Persist(TimeSpan)

Rend une instance de flux de travail persistante dans un magasin d'instances avec l'intervalle de délai d'attente spécifié.

public:
 void Persist(TimeSpan timeout);
public void Persist (TimeSpan timeout);
member this.Persist : TimeSpan -> unit
Public Sub Persist (timeout As TimeSpan)

Paramètres

timeout
TimeSpan

Intervalle au cours duquel l'opération de persistance doit être exécutée ; au-delà de ce délai, l'opération est annulée et une exception TimeoutException est levée.

Exemples

L'exemple suivant appelle Persist pour rendre une instance de flux de travail persistante avant le démarrage du flux de travail.

WorkflowApplication application = new WorkflowApplication(activity);

application.InstanceStore = instanceStore;

//returning IdleAction.Unload instructs the WorkflowApplication to persists application state and remove it from memory
application.PersistableIdle = (e) =>
{
    return PersistableIdleAction.Unload;
};

application.Unloaded = (e) =>
{
    instanceUnloaded.Set();
};

//This call is not required
//Calling persist here captures the application durably before it has been started
application.Persist();
id = application.Id;
application.Run();

instanceUnloaded.WaitOne();

Remarques

Si l'instance de workflow a été précédemment chargée à partir d'un point de persistance, alors, le même InstanceStore utilisé pour charger le workflow est utilisé pour la persistance. Si le workflow a été créé et n'a pas encore été rendu persistant, alors un InstanceStore doit être configuré avant d'appeler cette méthode ou bien une exception InvalidOperationException est levée lorsque cette méthode est appelée.

S’applique à