CompositeActivity Class



This API is now obsolete.

Activity 的衍生,為所有包含其他活動之活動的基底類別。Derivative of Activity that is the base class for all activities that contain other activities. CompositeActivity 負責管理其子活動的執行。A CompositeActivity is responsible for managing the execution of its child activities.

public ref class CompositeActivity : System::Workflow::ComponentModel::Activity
public class CompositeActivity : System.Workflow.ComponentModel.Activity
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class CompositeActivity : System.Workflow.ComponentModel.Activity
type CompositeActivity = class
    inherit Activity
Public Class CompositeActivity
Inherits Activity


這個範例示範一個基本 CompositeActivity,它會執行它要執行的第一個子活動。This example shows a basic CompositeActivity that executes its first child activity for execution. 子活動移至 [已關閉] 狀態時,會通知複合活動,然後完成其執行。When the child activity moves to the Closed state, the composite activity is notified and then completes its execution.

public class HasOneChildActivity : CompositeActivity  
    protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)  
        Activity child = this.EnabledActivities[0];  
        child.Closed += this.ChildClosed;  
        return ActivityExecutionStatus.Executing;  
    void ChildClosed(object sender, ActivityExecutionStatusChangedEventArgs e)  
        e.Activity.Closed -= this.ChildClosed;  
        ActivityExecutionContext executionContext = sender as ActivityExecutionContext;  



此資料討論已被汰換的類型及命名空間。This material discusses types and namespaces that are obsolete. 如需詳細資訊,請參閱 Windows Workflow Foundation 4.5 中即將淘汰的類型For more information, see Deprecated Types in Windows Workflow Foundation 4.5.

CompositeActivity 管理其子活動的執行,方式是使用在 ActivityExecutionContext 類別上定義的 Activity 類別方法和事件。A CompositeActivity manages the execution of its child activities using ActivityExecutionContext class methods and events defined on the Activity class. 例如,子活動執行的排程是使用 ExecuteActivityActivityExecutionContextFor example, a child activity is scheduled for execution using the ExecuteActivity of ActivityExecutionContext. 當子活動透過訂閱 CompositeActivity 上定義的 Closed 事件來完成其執行動作時,會通知 Activity 活動。A CompositeActivity activity can be notified when a child activity completes its execution by subscribing to the Closed event defined on Activity.

工作流程執行階段會在 CompositeActivity 執行上強制執行某些限制,其最基本的限制是如果子活動仍在 CompositeActivityClosedExecutingCanceling 狀態的話,Compensating 活動不能移動到 Faulting 狀態。The workflow runtime enforces certain constraints on CompositeActivity execution, the most fundamental of which is that a CompositeActivity activity cannot move to the Closed state if any child activities are still in a Executing, Canceling, Compensating, or Faulting, state.



初始化 CompositeActivity 類別的新執行個體。Initializes a new instance of the CompositeActivity class.


從實作型別為 CompositeActivityObject 介面的 IEnumerable,初始化 Activity 類別的新執行個體。Initializes a new instance of the CompositeActivity class from an Object which implements the IEnumerable interface with type Activity.


初始化 CompositeActivity 類別的新執行個體,以及該活動的名稱。Initializes a new instance of the CompositeActivity class, along with the name for that activity.



取得物件,這個物件代表所有子活動的集合 ActivityCollectionGets the object representing the collection, ActivityCollection, of all child activities.


取得或設定值,這個值可控制是否會修改 Activities 內的個別活動。Gets or sets a value which controls whether the individual activities within Activities can be modified.


取得或設定 Activity 的使用者定義描述。Gets or sets the user-defined description of the Activity.

(Inherited from Activity)

取得值,這個值會指出這個執行個體是在設計模式或執行階段模式中。Gets the value that indicates whether this instance is in design or run-time mode.

(Inherited from DependencyObject)

取得或設定值,這個值會指出是否啟用這個執行個體進行執行和驗證。Gets or sets a value that indicates whether this instance is enabled for execution and validation.

(Inherited from Activity)

取得唯讀集合,這個集合代表已啟用 Activities 的子集。Gets the read-only collection that represents the subset of Activities that are enabled.


取得最後嘗試要執行這個執行個體的 ActivityExecutionResultGets the ActivityExecutionResult of the last attempt to run this instance.

(Inherited from Activity)

取得這個執行個體的目前 ActivityExecutionStatusGets the current ActivityExecutionStatus of this instance.

(Inherited from Activity)

取得有關活動是否執行於工作流程執行個體之預設 ActivityExecutionContext 內的資訊。Gets information about whether the activity is executing within the default ActivityExecutionContext of the workflow instance.

(Inherited from Activity)

取得或設定這個執行個體的名稱。Gets or sets the name of this instance. 這個名稱必須符合工作流程專案中所使用之程式語言的變數命名慣例。This name must conform to the variable naming convention of the programming language that is being used in the Workflow project.

(Inherited from Activity)

取得含有這個 CompositeActivityActivityGets the CompositeActivity that contains this Activity.

(Inherited from Activity)

取得 DependencyObject 圖形中的父代 DependencyObjectGets the parent DependencyObject in the DependencyObject graph.

(Inherited from DependencyObject)

取得活動的完整名稱。Gets the qualified name of the activity. 在工作流程執行個體中,完整的活動名稱永遠是唯一的。Qualified activity names are always unique in a workflow instance.

(Inherited from Activity)

取得或設定 SiteDependencyObject 元件的參考。Gets or sets a reference to the Site component of the DependencyObject.

(Inherited from DependencyObject)

取得 IDictionary,它會將自訂資料與這個類別執行個體產生關聯。Gets an IDictionary that associates custom data with this class instance.

(Inherited from DependencyObject)

取得與執行個體相關聯的 GuidGets the Guid associated with the instance.

(Inherited from Activity)


AddHandler(DependencyProperty, Object)

加入 DependencyObject{2}之事件的處理常式。Adds a handler for an event of a DependencyObject.

(Inherited from DependencyObject)

將參數中的 WorkflowChanges 資訊清單套用至這個執行個體。Applies the WorkflowChanges manifest in the parameter to this instance.


由工作流程執行階段呼叫,以取消執行目前執行的活動。Called by the workflow runtime to cancel execution of an activity that is currently executing.

(Inherited from Activity)

建立 Activity 的深層複本 (Deep Copy)。Creates a deep copy of the Activity.

(Inherited from Activity)

釋放 DependencyObject 使用的所有資源。Releases all the resources used by the DependencyObject.

(Inherited from DependencyObject)

呼叫這個執行個體上的 Dispose(Boolean),並選擇性呼叫這個執行個體其所有子活動上的 Dispose()Calls Dispose(Boolean) on this instance, and optionally calls Dispose() on all child activities of this instance.


判斷指定的物件是否等於目前的物件。Determines whether the specified object is equal to the current object.

(Inherited from Object)

由工作流程執行階段呼叫以執行活動。Called by the workflow runtime to execute an activity.

(Inherited from Activity)

傳回 Activity 的執行個體,其名稱是向執行於此執行個體之根活動下的活動全體集合要求而來的,該執行個體則位於工作流程內。Returns the instance of the Activity whose name is requested from the set of all activities running under the root activity of this instance, which is within the workflow.

(Inherited from Activity)
GetActivityByName(String, Boolean)

傳回 Activity 的執行個體,如果第二個參數是 Activity,則要求其名稱的來源是在這個執行個體其 false 的根項目之下的所有活動集,如果第二個參數是 Activity,則來源是在目前 true 之下。Returns the instance of the Activity whose name is requested from the set of all activities under the root the Activity of this instance if the second parameter is false and under the current Activity if the second parameter is true.

(Inherited from Activity)

提供存取與特定 ActivityBind 相關聯的 DependencyPropertyProvides access to the ActivityBind associated with the specific DependencyProperty.

(Inherited from DependencyObject)
GetBoundValue(ActivityBind, Type)

擷取 Object,其為 ActivityBind 的主體。Retrieves the Object that is the subject of an ActivityBind.

(Inherited from DependencyObject)

傳回陣列,這個陣列包含指定活動之所有目前執行的執行個體。Returns an array that contains all of the currently executing instances of the specified activity.


做為預設雜湊函式。Serves as the default hash function.

(Inherited from Object)

取得陣列,這個陣列包含指定 DependencyProperty 的委派。Gets an array that contains the delegates for the specified DependencyProperty.

(Inherited from DependencyObject)

取得目前執行個體的 TypeGets the Type of the current instance.

(Inherited from Object)

提供存取所指定 DependencyProperty 的值。Provides access to the value of the designated DependencyProperty.

(Inherited from DependencyObject)

提供對 DependencyProperty 其繫結物件的存取,並略過 GetValue(DependencyProperty) 覆寫。Provides access to the bound object of a DependencyProperty and bypasses the GetValue(DependencyProperty) override.

(Inherited from DependencyObject)
HandleFault(ActivityExecutionContext, Exception)

在這個執行個體的執行內容中引發例外狀況時呼叫。Called when an exception is raised within the context of the execution of this instance.


初始化這個執行個體和所指定 IServiceProvider 的所有適當的子活動。Initializes all appropriate child activities of this instance and the specified IServiceProvider.


在衍生類別中覆寫時,在相依性屬性上執行初始化。Performs initialization on dependency properties when overridden in a derived class.

(Inherited from DependencyObject)
Invoke<T>(EventHandler<T>, T)

訂閱 EventHandler 並叫用該委派。Subscribes an EventHandler and invokes that delegate.

(Inherited from Activity)
Invoke<T>(IActivityEventListener<T>, T)

訂閱 IActivityEventListener<T> 並叫用該委派。Subscribes an IActivityEventListener<T> and invokes that delegate.

(Inherited from Activity)

指出 DependencyProperty 的值是否已設定為繫結。Indicates whether the value of a DependencyProperty is set as a binding. 請參閱<SetBinding(DependencyProperty, ActivityBind)>。See SetBinding(DependencyProperty, ActivityBind).

(Inherited from DependencyObject)

建立目前 Object 的淺層複製。Creates a shallow copy of the current Object.

(Inherited from Object)

判斷這個 metapropertiesDependencyObjectmetaproperties是否相等於參數化 DependencyObject 的 {5}。Determines whether the metaproperties of this DependencyObject equals the metaproperties of the parameterized DependencyObject.

(Inherited from DependencyObject)
OnActivityChangeAdd(ActivityExecutionContext, Activity)

加入活動時呼叫。Calls when an activity is added.

OnActivityChangeRemove(ActivityExecutionContext, Activity)

移除活動時呼叫。Called when an activity is removed.


每次載入此活動的 ActivityExecutionContext 時,由工作流程執行階段引擎呼叫。Called by the workflow runtime engine every time the ActivityExecutionContext for this activity is loaded.


每次卸載此活動的 ActivityExecutionContext 時,由工作流程執行階段引擎呼叫。Called by the workflow runtime engine every time the ActivityExecutionContext for this activity is unloaded.


當活動轉換到已關閉狀態時,由工作流程執行階段呼叫。Called by the workflow runtime as part of the activity's transition to the closed state.

(Inherited from Activity)

Activities 屬性變更時,執行額外的處理。Performs additional processing when the Activities property changes.


在變更基礎 Activities 之前發生的事件。Event that occurs before a change being made to the underlying Activities.


在變更這個執行個體的 Activities 集合後呼叫。Called after changes have been made to the collection Activities of this instance.

RaiseEvent(DependencyProperty, Object, EventArgs)

引發與指定相依性屬性相關聯的 EventRaises an Event associated with the specified dependency property.

(Inherited from Activity)
RaiseGenericEvent<T>(DependencyProperty, Object, T)

引發與所參考 DependencyProperty 相關聯的事件。Raises the event associated with the referenced DependencyProperty.

(Inherited from Activity)
RegisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)

註冊狀態變更事件的指定 DependencyPropertyRegisters the specified DependencyProperty for the status change event.

(Inherited from Activity)
RemoveHandler(DependencyProperty, Object)

EventHandler 從相關聯的 DependencyProperty 移除。Removes an EventHandler from an associated DependencyProperty.

(Inherited from DependencyObject)

DependencyPropertyDependencyObject 中移除。Removes a DependencyProperty from the DependencyObject.

(Inherited from DependencyObject)

Activity 寫入保存性 (Persistence) 的 StreamWrites the Activity to a Stream for persistence.

(Inherited from Activity)
Save(Stream, IFormatter)

使用為序列化提供的自訂 Activity,將 Stream 寫入 IFormatter 以供保存。Writes the Activity to a Stream for persistence using the custom IFormatter provided for serialization.

(Inherited from Activity)
SetBinding(DependencyProperty, ActivityBind)

設定所指定 ActivityBindDependencyPropertySets the ActivityBind for the specified DependencyProperty.

(Inherited from DependencyObject)
SetBoundValue(ActivityBind, Object)

設定目標 ActivityBind 的值。Sets the value of the target ActivityBind.

(Inherited from DependencyObject)
SetReadOnlyPropertyValue(DependencyProperty, Object)

設定唯讀的 DependencyProperty 其值。Sets the value of a DependencyProperty, which is read-only.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object)

DependencyProperty 的值設定給物件。Sets the value of the DependencyProperty to the object.

(Inherited from DependencyObject)
SetValueBase(DependencyProperty, Object)

DependencyProperty 的值設定為指定的 Object,略過 SetValue(DependencyProperty, Object)Sets the value of the DependencyProperty to the specified Object, bypassing the SetValue(DependencyProperty, Object).

(Inherited from DependencyObject)

提供代表這個執行個體的字串。Provides a string that represents this instance.

(Inherited from Activity)

通知執行階段追蹤基礎結構關於暫止追蹤的資訊。Informs the run-time tracking infrastructure of pending tracking information.

(Inherited from Activity)
TrackData(String, Object)

通知執行階段追蹤基礎結構關於暫止追蹤的資訊。Informs the run-time tracking infrastructure of pending tracking information.

(Inherited from Activity)

活動從 Closed 狀態轉換為 Initialized 狀態時,由工作流程執行階段引擎呼叫。Called by the workflow runtime engine when an activity transitions into the Closed state from the Initialized state.

UnregisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)

解除註冊狀態變更事件的指定 DependencyPropertyUn-registers the specified DependencyProperty for the status change event.

(Inherited from Activity)



取消執行活動時發生。Occurs when the activity execution is canceled.

(Inherited from Activity)

發生於 Activity 已完成執行時。Occurs when an Activity has completed execution.

(Inherited from Activity)

發生於在 Activity 上執行補償方法時。Occurs when running a compensation method on the Activity.

(Inherited from Activity)

發生於執行 Activity 時。Occurs when the Activity is run.

(Inherited from Activity)

在執行個體執行期間引發例外狀況時發生。Occurs when an exception is raised during the running of the instance.

(Inherited from Activity)

發生於正在執行之 ActivityExecutionStatusActivity{3}變更時。Occurs when the ActivityExecutionStatus of a running Activity changes.

(Inherited from Activity)

Explicit Interface Implementations


表示處理元件 Disposed 事件的方法。Represents the method that handles the Disposed event of a component.

(Inherited from DependencyObject)

Applies to