WorkflowApplication.Persist 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將工作流程執行個體保存到執行個體存放區。
多載
Persist() |
將工作流程執行個體保存到執行個體存放區。 |
Persist(TimeSpan) |
使用指定逾時間隔,將工作流程執行個體保存到執行個體存放區。 |
備註
如果先前已從持續性載入工作流程執行個體,則會使用用來載入工作流程的相同 InstanceStore 做為保存。 如果工作流程已建立但尚未保存,則必須在呼叫這個方法之前設定 InstanceStore,否則呼叫這個方法時會擲回 InvalidOperationException。
Persist()
將工作流程執行個體保存到執行個體存放區。
public:
void Persist();
public void Persist ();
member this.Persist : unit -> unit
Public Sub Persist ()
範例
下列範例會呼叫 Persist,以便在工作流程啟動之前保存工作流程執行個體。
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();
備註
如果保存作業沒有在 30 秒內完成,則會擲回 TimeoutException。
如果先前已從持續性載入工作流程執行個體,則會使用用來載入工作流程的相同 InstanceStore 做為保存。 如果工作流程已建立但尚未保存,則必須在呼叫這個方法之前設定 InstanceStore,否則呼叫這個方法時會擲回 InvalidOperationException。
適用於
Persist(TimeSpan)
使用指定逾時間隔,將工作流程執行個體保存到執行個體存放區。
public:
void Persist(TimeSpan timeout);
public void Persist (TimeSpan timeout);
member this.Persist : TimeSpan -> unit
Public Sub Persist (timeout As TimeSpan)
參數
- timeout
- TimeSpan
保存作業必須在作業取消並擲回 TimeoutException 前完成的間隔。
範例
下列範例會呼叫 Persist,以便在工作流程啟動之前保存工作流程執行個體。
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();
備註
如果先前已從持續性載入工作流程執行個體,則會使用用來載入工作流程的相同 InstanceStore 做為保存。 如果工作流程已建立但尚未保存,則必須在呼叫這個方法之前設定 InstanceStore,否則呼叫這個方法時會擲回 InvalidOperationException。