WorkflowApplication.Persist Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.