CompositeActivity 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Activity 的派生,前者是包含其他活动的所有活动的基类。 CompositeActivity 负责管理其子活动的执行。
public ref class CompositeActivity : System::Workflow::ComponentModel::Activity
[System.Workflow.ComponentModel.Compiler.ActivityCodeGenerator(typeof(System.Workflow.ComponentModel.Compiler.CompositeActivityCodeGenerator))]
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.ComponentModel.Compiler.CompositeActivityValidator))]
[System.Workflow.ComponentModel.Serialization.ContentProperty("Activities")]
public class CompositeActivity : System.Workflow.ComponentModel.Activity
[System.Workflow.ComponentModel.Compiler.ActivityCodeGenerator(typeof(System.Workflow.ComponentModel.Compiler.CompositeActivityCodeGenerator))]
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.ComponentModel.Compiler.CompositeActivityValidator))]
[System.Workflow.ComponentModel.Serialization.ContentProperty("Activities")]
[System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
public class CompositeActivity : System.Workflow.ComponentModel.Activity
[<System.Workflow.ComponentModel.Compiler.ActivityCodeGenerator(typeof(System.Workflow.ComponentModel.Compiler.CompositeActivityCodeGenerator))>]
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.ComponentModel.Compiler.CompositeActivityValidator))>]
[<System.Workflow.ComponentModel.Serialization.ContentProperty("Activities")>]
type CompositeActivity = class
inherit Activity
[<System.Workflow.ComponentModel.Compiler.ActivityCodeGenerator(typeof(System.Workflow.ComponentModel.Compiler.CompositeActivityCodeGenerator))>]
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.ComponentModel.Compiler.CompositeActivityValidator))>]
[<System.Workflow.ComponentModel.Serialization.ContentProperty("Activities")>]
[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]
type CompositeActivity = class
inherit Activity
Public Class CompositeActivity
Inherits Activity
- 继承
- 派生
- 属性
示例
此示例演示一个基本的 CompositeActivity
,它在执行时执行其第一个子活动。 当子活动进入关闭状态时,将通知复合活动,然后完成其执行。
public class HasOneChildActivity : CompositeActivity
{
protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
{
Activity child = this.EnabledActivities[0];
child.Closed += this.ChildClosed;
executionContext.ExecuteActivity(child);
return ActivityExecutionStatus.Executing;
}
void ChildClosed(object sender, ActivityExecutionStatusChangedEventArgs e)
{
e.Activity.Closed -= this.ChildClosed;
ActivityExecutionContext executionContext = sender as ActivityExecutionContext;
executionContext.CloseActivity();
}
}
注解
注意
本材料讨论的类型和命名空间已废弃不用。 有关详细信息,请参阅 Windows Workflow Foundation 4.5 中弃用的类型。
CompositeActivity 使用在 ActivityExecutionContext 类上定义的 Activity 类方法和事件来管理其子活动的执行。 例如,使用 ExecuteActivity 的 ActivityExecutionContext 来计划子活动的执行。 当子活动完成执行后,通过订阅在 CompositeActivity 中定义的 Closed 事件,可以向 Activity 活动发出通知。
工作流运行时在 CompositeActivity 执行上强制实施特定约束,其中最基本的约束是,如果任何子活动仍处于 CompositeActivity、Closed、Executing 或 Canceling 状态,则 Compensating 活动不能进入 Faulting 状态。
构造函数
CompositeActivity() |
已过时.
初始化 CompositeActivity 类的新实例。 |
CompositeActivity(IEnumerable<Activity>) |
已过时.
从 CompositeActivity 初始化 Object 类的新实例,前者实现 IEnumerable 类型的 Activity 接口。 |
CompositeActivity(String) |
已过时.
初始化 CompositeActivity 类的新实例,包括该活动的名称。 |
属性
方法
事件
Canceling |
已过时.
在取消活动执行时发生。 (继承自 Activity) |
Closed |
已过时.
在 Activity 完成执行时发生。 (继承自 Activity) |
Compensating |
已过时.
在 Activity 上运行补偿方法时发生。 (继承自 Activity) |
Executing |
已过时.
在运行 Activity 时发生。 (继承自 Activity) |
Faulting |
已过时.
在实例的运行期间引发异常时发生。 (继承自 Activity) |
StatusChanged |
已过时.
在运行中的 ActivityExecutionStatus 的 Activity 更改时发生。 (继承自 Activity) |
显式接口实现
IComponent.Disposed |
已过时.
表示处理组件的“Disposed”事件的方法。 (继承自 DependencyObject) |