StateMachineWorkflowActivity 類別

定義

警告

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

做為狀態機器工作流程的根容器。 包含事件驅動的活動和狀態。

public ref class StateMachineWorkflowActivity : System::Workflow::Activities::StateActivity
[System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))]
public class StateMachineWorkflowActivity : System.Workflow.Activities.StateActivity
[System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))]
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class StateMachineWorkflowActivity : System.Workflow.Activities.StateActivity
[<System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))>]
type StateMachineWorkflowActivity = class
    inherit StateActivity
[<System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))>]
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type StateMachineWorkflowActivity = class
    inherit StateActivity
Public Class StateMachineWorkflowActivity
Inherits StateActivity
繼承
屬性

範例

下列程式碼範例示範如何建立 StateMachineWorkflowActivity 類別的新執行個體,並用它實作可在三個狀態之間轉換的基本狀態機器。 這個程式碼範例是 StateMachineWorkflow.cs 檔案中<SimpleStateMachineWorkflow SDK>範例的一部分。 如需詳細資訊,請參閱 簡單狀態機器

this.WhileLoop = new System.Workflow.Activities.WhileActivity();
this.Parallel = new System.Workflow.Activities.ParallelActivity();
this.Sequence1 = new System.Workflow.Activities.SequenceActivity();
this.Sequence2 = new System.Workflow.Activities.SequenceActivity();
this.ConsoleMessage1 = new System.Workflow.Activities.CodeActivity();
this.ConsoleMessage2 = new System.Workflow.Activities.CodeActivity();
//
// WhileLoop
//
this.WhileLoop.Activities.Add(this.Parallel);
codecondition1.Condition += new System.EventHandler<System.Workflow.Activities.ConditionalEventArgs>(this.WhileCondition);
this.WhileLoop.Condition = codecondition1;
this.WhileLoop.Name = "WhileLoop";
//
// Parallel
//
this.Parallel.Activities.Add(this.Sequence1);
this.Parallel.Activities.Add(this.Sequence2);
this.Parallel.Name = "Parallel";
Me.WhileLoop = New System.Workflow.Activities.WhileActivity()
Me.Parallel = New System.Workflow.Activities.ParallelActivity()
Me.Sequence1 = New System.Workflow.Activities.SequenceActivity()
Me.Sequence2 = New System.Workflow.Activities.SequenceActivity()
Me.ConsoleMessage1 = New System.Workflow.Activities.CodeActivity()
Me.ConsoleMessage2 = New System.Workflow.Activities.CodeActivity()
' 
' WhileLoop
' 
Me.WhileLoop.Activities.Add(Me.Parallel)
AddHandler codecondition1.Condition, AddressOf Me.WhileCondition
Me.WhileLoop.Condition = codecondition1
Me.WhileLoop.Name = "WhileLoop"
' 
' Parallel
' 
Me.Parallel.Activities.Add(Me.Sequence1)
Me.Parallel.Activities.Add(Me.Sequence2)
Me.Parallel.Name = "Parallel"

備註

注意

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

StateMachineWorkflowActivity 是活動容器,用於建立遵循狀態機器模型的工作流程。

StateMachineWorkflowActivityCompositeActivity,也就是說,StateMachineWorkflowActivity 可以包含其他活動。 StateMachineWorkflowActivityEventDrivenActivity 活動是唯一允許的 StateMachineWorkflowActivity 的子活動。 EventDrivenActivity 活動已允許,因為根活動本身的行為就和狀態一樣。 因此,根層級中可以有 EventDrivenActivity 活動,StateMachineWorkflowActivity 中所有狀態活動都會使用這些活動。 這個層級上的 EventDrivenActivity 活動會提供全域機制來處理工作流程事件,並自動轉換狀態。 StateActivity 活動提供機制來定義模型中的各種階段。

StateMachineWorkflowActivity 有執行狀態機器工作流程所需的屬性。 最值得注意的是,StateMachineWorkflowActivity 有兩個重要的屬性,分別是 InitialStateNamePropertyCompletedStateNameProperty

狀態機器的 InitialStateNameProperty,就是在建立狀態機器的執行個體時,狀態機器當時所處的狀態。 InitialStateNameProperty 屬性為強制的,且必須在建立 StateMachineWorkflowActivity 時提供。 狀態機器的 InitialStateNameProperty 就像任何其他包含在狀態機器內的狀態活動一樣。 狀態活動可以是 StateMachineWorkflowActivity 根活動的直接子系,且 StateMachineWorkflowActivity 只能有一個 InitialStateNameProperty

CompletedStateNamePropertyStateMachineWorkflowActivityStateActivity 活動,指定做為 StateMachineWorkflowActivity 的結束狀態。 在轉換 CompletedStateNameProperty 時,會完成工作流程執行。 CompletedStateNameProperty 並非強制。 這表示您有未完成的 StateMachineWorkflowActivity。 這不表示狀態機器工作流程在記憶體中永遠為使用中。 可能會在 StateMachineWorkflowActivity 等待事件時將其卸載。

永遠不會完成的 StateMachineWorkflowActivity 活動在處理長期執行的商務異動時特別有用,例如供應商收到採購單的狀況時。 完成採購單並不表示採購單流程結束。 採購單完成後,採購單上的貨物可能退回,或者會修改採購單並加入額外的商品。 有時需要延長保留採購單的時間,以供法律或其他目的之用。 工作流程未完成只是表示工作流程仍然維持在卸載狀態。 某些情況下可能需要停用工作流程,這表示在一段時間之後,會強制關閉工作流程執行個體。

建構函式

StateMachineWorkflowActivity()
已淘汰.

初始化 StateMachineWorkflowActivity 類別的新執行個體。

StateMachineWorkflowActivity(String)
已淘汰.

使用活動的名稱,初始化 StateMachineWorkflowActivity 類別的新執行個體。

欄位

CompletedStateNameProperty
已淘汰.

表示目標為 DependencyObject 屬性的 CompletedStateName

InitialStateNameProperty
已淘汰.

表示目標為 DependencyObject 屬性的 InitialStateName

SetStateQueueName
已淘汰.

用於變更 WorkflowQueue 狀態的 StateMachineWorkflowActivity 名稱。 這個欄位為常數。

StateChangeTrackingDataKey
已淘汰.

保留變更追蹤資料索引鍵的字串值;"StateActivity.StateChange"。 這個欄位是常數。

(繼承來源 StateActivity)

屬性

Activities
已淘汰.

取得物件,這個物件代表所有子活動的集合 ActivityCollection

(繼承來源 CompositeActivity)
CanModifyActivities
已淘汰.

取得或設定值,這個值可控制是否會修改 Activities 內的個別活動。

(繼承來源 CompositeActivity)
CompletedStateName
已淘汰.

取得或設定工作流程的 StateActivity 結尾部分。

CurrentStateName
已淘汰.

取得目前所執行 StateActivity 的名稱。

Description
已淘汰.

取得或設定 Activity 的使用者定義描述。

(繼承來源 Activity)
DesignMode
已淘汰.

取得值,這個值會指出這個執行個體是在設計模式或執行階段模式中。

(繼承來源 DependencyObject)
DynamicUpdateCondition
已淘汰.

取得或設定 ActivityCondition,判斷在衍生類別中覆寫時,是否可對工作流程動態更新。

Enabled
已淘汰.

取得或設定值,這個值會指出是否啟用這個執行個體進行執行和驗證。

(繼承來源 Activity)
EnabledActivities
已淘汰.

取得唯讀集合,這個集合代表已啟用 Activities 的子集。

(繼承來源 CompositeActivity)
ExecutionResult
已淘汰.

取得最後嘗試要執行這個執行個體的 ActivityExecutionResult

(繼承來源 Activity)
ExecutionStatus
已淘汰.

取得這個執行個體的目前 ActivityExecutionStatus

(繼承來源 Activity)
InitialStateName
已淘汰.

取得或設定 StateActivity,其中 StateMachineWorkflowActivity 是狀態機器執行個體的建立時間。

IsDynamicActivity
已淘汰.

取得有關活動是否執行於工作流程執行個體之預設 ActivityExecutionContext 內的資訊。

(繼承來源 Activity)
Name
已淘汰.

取得或設定這個執行個體的名稱。 這個名稱必須符合工作流程專案中所使用之程式語言的變數命名慣例。

(繼承來源 Activity)
Parent
已淘汰.

取得含有這個 CompositeActivityActivity

(繼承來源 Activity)
ParentDependencyObject
已淘汰.

取得 DependencyObject 圖形中的父代 DependencyObject

(繼承來源 DependencyObject)
PreviousStateName
已淘汰.

取得先前所執行 StateActivity 的名稱。

QualifiedName
已淘汰.

取得活動的完整名稱。 在工作流程執行個體中,完整的活動名稱永遠是唯一的。

(繼承來源 Activity)
Site
已淘汰.

取得或設定 SiteDependencyObject 元件的參考。

(繼承來源 DependencyObject)
UserData
已淘汰.

取得 IDictionary,它會將自訂資料與這個類別執行個體產生關聯。

(繼承來源 DependencyObject)
WorkflowInstanceId
已淘汰.

取得與執行個體相關聯的 Guid

(繼承來源 Activity)

方法

AddHandler(DependencyProperty, Object)
已淘汰.

加入 之事件的處理常式。

(繼承來源 DependencyObject)
ApplyWorkflowChanges(WorkflowChanges)
已淘汰.

將參數中的 WorkflowChanges 資訊清單套用至這個執行個體。

(繼承來源 CompositeActivity)
Cancel(ActivityExecutionContext)
已淘汰.

取消執行 StateActivity

(繼承來源 StateActivity)
Clone()
已淘汰.

建立 Activity 的深層複本 (Deep Copy)。

(繼承來源 Activity)
Dispose()
已淘汰.

釋放 DependencyObject 使用的所有資源。

(繼承來源 DependencyObject)
Dispose(Boolean)
已淘汰.

呼叫這個執行個體上的 Dispose(Boolean),並選擇性呼叫這個執行個體其所有子活動上的 Dispose()

(繼承來源 CompositeActivity)
Equals(Object)
已淘汰.

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Execute(ActivityExecutionContext)
已淘汰.

執行 StateActivity

(繼承來源 StateActivity)
GetActivityByName(String)
已淘汰.

傳回 Activity 的執行個體,其名稱是向執行於此執行個體之根活動下的活動全體集合要求而來的,該執行個體則位於工作流程內。

(繼承來源 Activity)
GetActivityByName(String, Boolean)
已淘汰.

傳回 Activity 的執行個體,如果第二個參數是 Activity,則要求其名稱的來源是在這個執行個體其 false 的根項目之下的所有活動集,如果第二個參數是 Activity,則來源是在目前 true 之下。

(繼承來源 Activity)
GetBinding(DependencyProperty)
已淘汰.

提供存取與特定 ActivityBind 相關聯的 DependencyProperty

(繼承來源 DependencyObject)
GetBoundValue(ActivityBind, Type)
已淘汰.

擷取 Object,其為 ActivityBind 的主體。

(繼承來源 DependencyObject)
GetDynamicActivities(Activity)
已淘汰.

傳回陣列,這個陣列包含指定活動之所有目前執行的執行個體。

(繼承來源 CompositeActivity)
GetDynamicActivity(String)
已淘汰.

取得對應至指定子活動名稱之 Activity 的執行個體。

(繼承來源 StateActivity)
GetHashCode()
已淘汰.

做為預設雜湊函式。

(繼承來源 Object)
GetInvocationList<T>(DependencyProperty)
已淘汰.

取得陣列,這個陣列包含指定 DependencyProperty 的委派。

(繼承來源 DependencyObject)
GetType()
已淘汰.

取得目前執行個體的 Type

(繼承來源 Object)
GetValue(DependencyProperty)
已淘汰.

提供存取所指定 DependencyProperty 的值。

(繼承來源 DependencyObject)
GetValueBase(DependencyProperty)
已淘汰.

提供對 DependencyProperty 其繫結物件的存取,並略過 GetValue(DependencyProperty) 覆寫。

(繼承來源 DependencyObject)
HandleFault(ActivityExecutionContext, Exception)
已淘汰.

在這個執行個體的執行內容中引發例外狀況時呼叫。

(繼承來源 CompositeActivity)
Initialize(IServiceProvider)
已淘汰.

使用服務提供者初始化 StateActivity

(繼承來源 StateActivity)
InitializeProperties()
已淘汰.

在衍生類別中覆寫時,在相依性屬性上執行初始化。

(繼承來源 DependencyObject)
Invoke<T>(EventHandler<T>, T)
已淘汰.

訂閱 EventHandler 並叫用該委派。

(繼承來源 Activity)
Invoke<T>(IActivityEventListener<T>, T)
已淘汰.

訂閱 IActivityEventListener<T> 並叫用該委派。

(繼承來源 Activity)
IsBindingSet(DependencyProperty)
已淘汰.

指出 DependencyProperty 的值是否已設定為繫結。 請參閱 SetBinding(DependencyProperty, ActivityBind)

(繼承來源 DependencyObject)
MemberwiseClone()
已淘汰.

建立目前 Object 的淺層複製。

(繼承來源 Object)
MetaEquals(DependencyObject)
已淘汰.

判斷這個 的 是否相等於參數化 的 。

(繼承來源 DependencyObject)
OnActivityChangeAdd(ActivityExecutionContext, Activity)
已淘汰.

判斷加入的活動是否為 EventDrivenActivity,如果是,則驗證是否必須訂閱新加入的事件驅動。

(繼承來源 StateActivity)
OnActivityChangeRemove(ActivityExecutionContext, Activity)
已淘汰.

移除活動時呼叫。

(繼承來源 CompositeActivity)
OnActivityExecutionContextLoad(IServiceProvider)
已淘汰.

每次載入此活動的 ActivityExecutionContext 時,由工作流程執行階段引擎呼叫。

(繼承來源 CompositeActivity)
OnActivityExecutionContextUnload(IServiceProvider)
已淘汰.

每次卸載此活動的 ActivityExecutionContext 時,由工作流程執行階段引擎呼叫。

(繼承來源 CompositeActivity)
OnClosed(IServiceProvider)
已淘汰.

由工作流程執行階段引擎呼叫,做為活動轉換為 Closed 狀態的一部分。

(繼承來源 StateActivity)
OnListChanged(ActivityCollectionChangeEventArgs)
已淘汰.

Activities 屬性變更時,執行額外的處理。

(繼承來源 CompositeActivity)
OnListChanging(ActivityCollectionChangeEventArgs)
已淘汰.

在變更基礎 Activities 之前發生的事件。

(繼承來源 CompositeActivity)
OnWorkflowChangesCompleted(ActivityExecutionContext)
已淘汰.

在變更這個執行個體的 Activities 集合後呼叫。

(繼承來源 CompositeActivity)
RaiseEvent(DependencyProperty, Object, EventArgs)
已淘汰.

引發與指定相依性屬性相關聯的 Event

(繼承來源 Activity)
RaiseGenericEvent<T>(DependencyProperty, Object, T)
已淘汰.

引發與所參考 DependencyProperty 相關聯的事件。

(繼承來源 Activity)
RegisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)
已淘汰.

註冊狀態變更事件的指定 DependencyProperty

(繼承來源 Activity)
RemoveHandler(DependencyProperty, Object)
已淘汰.

EventHandler 從相關聯的 DependencyProperty 移除。

(繼承來源 DependencyObject)
RemoveProperty(DependencyProperty)
已淘汰.

DependencyPropertyDependencyObject 中移除。

(繼承來源 DependencyObject)
Save(Stream)
已淘汰.

Activity 寫入保存性 (Persistence) 的 Stream

(繼承來源 Activity)
Save(Stream, IFormatter)
已淘汰.

使用為序列化提供的自訂 Activity,將 Stream 寫入 IFormatter 以供保存。

(繼承來源 Activity)
SetBinding(DependencyProperty, ActivityBind)
已淘汰.

設定所指定 ActivityBindDependencyProperty

(繼承來源 DependencyObject)
SetBoundValue(ActivityBind, Object)
已淘汰.

設定目標 ActivityBind 的值。

(繼承來源 DependencyObject)
SetReadOnlyPropertyValue(DependencyProperty, Object)
已淘汰.

設定唯讀的 DependencyProperty 其值。

(繼承來源 DependencyObject)
SetValue(DependencyProperty, Object)
已淘汰.

DependencyProperty 的值設定給物件。

(繼承來源 DependencyObject)
SetValueBase(DependencyProperty, Object)
已淘汰.

DependencyProperty 的值設定為指定的 Object,略過 SetValue(DependencyProperty, Object)

(繼承來源 DependencyObject)
ToString()
已淘汰.

提供代表這個執行個體的字串。

(繼承來源 Activity)
TrackData(Object)
已淘汰.

通知執行階段追蹤基礎結構關於暫止追蹤的資訊。

(繼承來源 Activity)
TrackData(String, Object)
已淘汰.

通知執行階段追蹤基礎結構關於暫止追蹤的資訊。

(繼承來源 Activity)
Uninitialize(IServiceProvider)
已淘汰.

活動從 Closed 狀態轉換為 Initialized 狀態時,由工作流程執行階段引擎呼叫。

(繼承來源 CompositeActivity)
UnregisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)
已淘汰.

解除註冊狀態變更事件的指定 DependencyProperty

(繼承來源 Activity)

事件

Canceling
已淘汰.

取消執行活動時發生。

(繼承來源 Activity)
Closed
已淘汰.

發生於 Activity 已完成執行時。

(繼承來源 Activity)
Compensating
已淘汰.

發生於在 Activity 上執行補償方法時。

(繼承來源 Activity)
Executing
已淘汰.

發生於執行 Activity 時。

(繼承來源 Activity)
Faulting
已淘汰.

在執行個體執行期間引發例外狀況時發生。

(繼承來源 Activity)
StatusChanged
已淘汰.

發生於正在執行之 的 變更時。

(繼承來源 Activity)

明確介面實作

IComponent.Disposed
已淘汰.

表示處理元件 Disposed 事件的方法。

(繼承來源 DependencyObject)

適用於

另請參閱