创建自定义活动
若要创建基本的自定义活动,可以从 Activity 类或派生类型继承。 若要创建自定义复合活动,可以从 CompositeActivity 类或派生类型继承。
备注
不支持创建从包含子活动的自定义活动继承的自定义活动。
您创建的自定义活动类将定义自定义活动的属性、事件和执行逻辑。
属性
在自定义活动中可以使用两种活动属性:元属性和实例属性。 元属性在运行时不可变,因此该属性必须在设计时设置为文本值。 实例属性可以在设计时设置,也可以绑定到实例数据,在后一种情况下要到运行时才能确定实际值。 也可以直接在工作流执行过程中修改实例属性。
有关活动属性的更多信息,请参见使用活动属性。
执行逻辑
创建自定义活动时,必须通过 Execute 方法显式处理活动的执行逻辑。 可以在活动中根据需要重写其他 Activity 方法。
属性
可以使用各种属性修饰自定义活动以指示各种情况,例如:应加载哪个活动设计器,验证活动时应使用什么验证程序等。 下表列出可用于修饰自定义活动的所有属性。
属性 | 说明 |
---|---|
指示将使用哪个 ActivityCodeGenerator 派生类为自定义活动生成编译时代码。 |
|
指示将使用哪个 ActivityValidator 派生类验证自定义活动。 |
|
指示该活动支持替代流。 |
|
指示将不序列化自定义活动中特定属性的属性名。 |
|
指示自定义活动的默认事件。 |
|
指示将使用哪个 ActivityDesigner 派生类为自定义活动实现设计时服务。 |
|
指示自定义活动的设计器属于某一特定类别。 |
|
指示将使用哪个序列化程序(ActivityMarkupSerializer、ActivityCodeDomSerializer、ActivityTypeCodeDomSerializer、CompositeActivityMarkupSerializer,或其中任何一个的派生序列化程序)来序列化自定义活动。 |
|
指示当经过装饰的活动完成其执行时,必须保留当前工作流实例。 |
|
指示自定义活动的运行时名称。 |
|
指示用于在容器(例如自定义工作流设计器)中表示自定义活动的图标。 |
|
指示在容器(例如自定义工作流设计器)中为自定义活动使用哪个 ActivityToolboxItem 派生类。 |
|
指示在容器(例如自定义工作流设计器)中使用自定义活动时,用于该活动的筛选器字符串和筛选器类型。 |
警告
如果自定义活动使用 PersistOnCloseAttribute,则使用该自定义活动的工作流必须指定要使用的持久性服务,否则在启动工作流时将引发异常。
可以“重写”属性,即如果使用基本活动所用的属性修饰自定义活动,则将对自定义活动使用重写值。 例如,您可能希望为自定义活动创建自己的工具箱位图,但仍使用基本活动的默认序列化程序和活动验证程序。 为此,您只需以 ToolboxItemAttribute 修饰自定义活动,并相应地设置值。
从默认 Windows Workflow Foundation 活动创建自定义活动
您可以从以下活动类型派生自定义活动:
活动类型 | 说明 |
---|---|
Activity |
从中派生所有活动的基类型。 |
本地通信期间在宿主上调用方法。 |
|
所有复合活动都派生自此类型。 |
|
处理在本地通信期间由宿主引发的传入事件。 |
|
用于创建包含顺序执行的子活动的自定义复合活动。 |
|
用于创建顺序工作流。 |
|
在状态机工作流中使用,用于处理给定状态的事件或初始化。 |
|
用于创建状态机工作流。 |
自定义活动
您可以使用一组封装特定功能的相关类,对自定义活动的默认逻辑进行自定义。
以下各节提供了有关这些方面的更多详细信息:
请参见
参考
Activity
CompositeActivity
ActivityBind
概念
其他资源
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。