Freigeben über


WorkflowApplication.Persist Methode

Definition

Speichert eine Workflowinstanz in einem Instanzspeicher.

Überlädt

Persist()

Speichert eine Workflowinstanz in einem Instanzspeicher.

Persist(TimeSpan)

Speichert eine Workflowinstanz in einem Instanzspeicher, wobei das angegebene Timeoutintervall verwendet wird.

Hinweise

Wenn die Workflowinstanz zuvor aus dem permanenten Speicher geladen wurde, wird für den permanenten Speicher der InstanceStore verwendet, mit dem der Workflow geladen wurde. Wenn der Workflow erstellt und noch nicht permanent gespeichert wurde, muss vor dem Aufrufen dieser Methode ein InstanceStore konfiguriert werden. Andernfalls wird beim Aufrufen dieser Methode eine InvalidOperationException ausgelöst.

Persist()

Speichert eine Workflowinstanz in einem Instanzspeicher.

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

Beispiele

Im folgenden Beispiel wird Persist aufgerufen, um eine Workflowinstanz beizubehalten, bevor der Workflow gestartet wird.

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();

Hinweise

Wenn der Persistenzspeichervorgang innerhalb von 30 Sekunden nicht abgeschlossen wird, wird eine TimeoutException ausgelöst.

Wenn die Workflowinstanz zuvor aus dem permanenten Speicher geladen wurde, wird für den permanenten Speicher der InstanceStore verwendet, mit dem der Workflow geladen wurde. Wenn der Workflow erstellt und noch nicht permanent gespeichert wurde, muss vor dem Aufrufen dieser Methode ein InstanceStore konfiguriert werden. Andernfalls wird beim Aufrufen dieser Methode eine InvalidOperationException ausgelöst.

Gilt für:

Persist(TimeSpan)

Speichert eine Workflowinstanz in einem Instanzspeicher, wobei das angegebene Timeoutintervall verwendet wird.

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

Parameter

timeout
TimeSpan

Das Intervall, in dem der Persistenzspeichervorgang abgeschlossen werden muss, bevor der Vorgang abgebrochen und eine TimeoutException ausgelöst wird.

Beispiele

Im folgenden Beispiel wird Persist aufgerufen, um eine Workflowinstanz beizubehalten, bevor der Workflow gestartet wird.

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();

Hinweise

Wenn die Workflowinstanz zuvor aus dem permanenten Speicher geladen wurde, wird für den permanenten Speicher der InstanceStore verwendet, mit dem der Workflow geladen wurde. Wenn der Workflow erstellt und noch nicht permanent gespeichert wurde, muss vor dem Aufrufen dieser Methode ein InstanceStore konfiguriert werden. Andernfalls wird beim Aufrufen dieser Methode eine InvalidOperationException ausgelöst.

Gilt für: