WorkflowInstance 類別

定義

警告

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

代表工作流程執行個體。

public ref class WorkflowInstance sealed
public sealed class WorkflowInstance
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public sealed class WorkflowInstance
type WorkflowInstance = class
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowInstance = class
Public NotInheritable Class WorkflowInstance
繼承
WorkflowInstance
屬性

範例

下列程式碼範例將示範如何在工作流程主機中建立和啟動 WorkflowInstance。 下列程式碼會建立 WorkflowRuntime 的執行個體、加入服務至執行階段,然後示範建立 WorkflowInstance 物件的建議方式。 程式碼藉由呼叫 WorkflowInstance 方法和傳遞之前建立的類型給它來初始化 CreateWorkflowWorkflowInstanceStart 方法呼叫啟動。

這個程式碼範例是 Program.cs 檔案中<取消工作流程 SDK>範例的一部分。 如需詳細資訊,請參閱 取消工作流程

Type type = typeof(SampleWorkflow1);
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
workflowInstance.Start();
Dim workflowInstance As WorkflowInstance
workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
workflowInstance.Start()

備註

注意

此資料討論已被汰換的類型及命名空間。 如需詳細資訊,請參閱 Windows Workflow Foundation 4.5 中即將淘汰的類型

WorkflowInstance 類別會公開可用於控制工作流程執行個體之執行的方法和屬性,它基本上是工作流程執行階段引擎使用的實際工作流程執行個體的 Proxy。 主機或服務可以呼叫包含在 WorkflowInstance 類別中的適當方法,來指示工作流程執行階段引擎在工作流程執行個體上執行動作。 如果要求的動作無效,例如,如果主機呼叫已完成的工作流程執行個體上的 Load,則工作流程執行階段引擎會引發適當的例外狀況。

注意

如果工作流程執行個體因為主應用程式 (Host Application) 上的呼叫沒有傳回而變得沒有回應,復原執行個體的唯一方法就是重新啟動執行階段。 不過,如果已強制卸載、中止或暫停執行個體,則透過呼叫 WorkflowInstance.Resume 方法可以繼續該執行個體。

屬性

InstanceId
已淘汰.

取得工作流程執行個體的唯一識別碼。

WorkflowRuntime
已淘汰.

取得此工作流程執行個體的 WorkflowRuntime

方法

Abort()
已淘汰.

中止工作流程執行個體。

ApplyWorkflowChanges(WorkflowChanges)
已淘汰.

將變更套用到 WorkflowChanges 物件指定的工作流程執行個體中。

EnqueueItem(IComparable, Object, IPendingWork, Object)
已淘汰.

同步公佈訊息至指定的工作流程佇列。

EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object)
已淘汰.

工作流程閒置時,將訊息張貼至指定的工作流程佇列。 EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) 會等到工作流程到達閒置點,並在確認工作流程排程器閒置後 (也就是沒有任何正在執行的作用中操作時) 加入佇列中。

Equals(Object)
已淘汰.

傳回指出指定的物件是否和 WorkflowInstance 相等的值。

GetHashCode()
已淘汰.

傳回這個工作流程執行個體的雜湊程式碼。

GetType()
已淘汰.

取得目前執行個體的 Type

(繼承來源 Object)
GetWorkflowDefinition()
已淘汰.

擷取此工作流程執行個體的根活動。

GetWorkflowNextTimerExpiration()
已淘汰.

傳回計時器訊息將會傳遞至此 WorkflowInstance 的下一個時間點。

GetWorkflowQueueData()
已淘汰.

取得 WorkflowQueueInfo 物件的集合,其中包含此工作流程執行個體關聯的工作流程佇列之暫止項目 (Pending Item) 與訂閱的活動。

Load()
已淘汰.

載入之前卸載的工作流程執行個體。

MemberwiseClone()
已淘汰.

建立目前 Object 的淺層複製。

(繼承來源 Object)
ReloadTrackingProfiles()
已淘汰.

重新載入此工作流程執行個體的追蹤設定檔。

Resume()
已淘汰.

繼續執行之前暫止的工作流程執行個體。

Start()
已淘汰.

開始執行工作流程執行個體。

Suspend(String)
已淘汰.

暫止工作流程執行個體。

Terminate(String)
已淘汰.

以同步方式結束工作流程執行個體。

ToString()
已淘汰.

傳回代表目前物件的字串。

(繼承來源 Object)
TryUnload()
已淘汰.

執行個體暫止或閒置時,將工作流程執行個體從記憶體卸載到持續性存放區中。

Unload()
已淘汰.

將工作流程執行個體從記憶體卸載到持續性存放區中。 此呼叫會封鎖到完成目前排程的工作後,或到異動範圍結束為止。

適用於

執行緒安全性

此型別具備執行緒安全。

另請參閱