【RPA前置知识】 整理并总结 Assign 和 AssignT 类
作者:互联网
1️⃣ 概述
工作流是一组存储为模型的名为活动的基本单元,该模型用于描述实际进程。 工作流提供了一种方法,用于描述多项短期运行或长期运行的工作之间的执行顺序和依赖关系。 此工作从头到尾地贯穿模型,并且活动可以人工执行或由系统功能执行。
♈ 工作流运行时引擎
每个正在运行的工作流实例都是由进程内运行时引擎创建和维护的,托管进程通过以下类之一与其交互:
- ,它像调用方法一样调用工作流。 ,用于对单个工作流实例的执行进行显式控制。 ,用于多实例方案中基于消息的交互。
上述每个类对表示为负责活动执行的 的核心活动运行时进行包装。 在一个应用程序域中可以并发运行多个 对象。
上述三个主机交互对象中的每一个都是从称为工作流程序的活动树中创建的。 使用这些类型或对 进行包装的自定义宿主,可以在包括控制台应用程序、基于窗体的应用程序、Windows 服务、ASP.NET Web 网站和 Windows Communication Foundation (WCF) 服务在内的任何 Windows 进程内执行工作流。
在上图中, 类的 方法用于调用多个工作流实例。 用于不需要由宿主管理的轻型工作流;需要由宿主管理的工作流(如 恢复)必须改用 来执行。 无需等待一个工作流实例完成即可调用下一个工作流实例;运行时引擎支持同时运行多个工作流实例。 调用的工作流如下:
- 一个包含 子活动的 活动。 父活动的 绑定到子活动的 。 有关变量、参数和绑定的详细信息,请参阅。 一个调用 ReadLine 的自定义活动。 将 活动的 ReadLine 返回给调用 方法。 一个派生自 抽象类的自定义活动。 可以使用作为 方法的参数提供的 访问运行时功能(如跟踪和属性)。 有关这些运行时功能的详细信息,请参阅和。
2️⃣ Assign类
♈ 定义
从工作流内设置 值。
public sealed class Assign : System.Activities.CodeActivity
♉ 构造函数
Assign()
创建 类的新实例。
public Assign ();
♊ 属性
CacheId
获取缓存的标识符,该标识符在工作流定义的作用域内是唯一的。
protected internal int CacheId { get; }
Constraints
获取可配置的 活动的集合,用于为 提供验证。
protected System.Collections.ObjectModel.Collection<System.Activities.Validation.Constraint> Constraints { get; }
DisplayName
获取或设置用于调试、验证、异常处理和跟踪的可选友好名称。
public string DisplayName { get; set; }
Id
获取一个标识符,该标识符在工作流定义的作用域内是唯一的。
public string Id { get; }
To
指定活动将为其分配活动的 值的 。
[System.Activities.RequiredArgument] public System.Activities.OutArgument To { get; set; }
Value
指定分配的值。
[System.Activities.RequiredArgument] public System.Activities.InArgument Value { get; set; }
♌ 方法
Execute(CodeActivityContext)
在派生类中实现时,执行该活动。
protected abstract void Execute (System.Activities.CodeActivityContext context);
参数
context 执行活动时所处的执行上下文。
ShouldSerializeDisplayName()
指示是否应序列化 属性。
public bool ShouldSerializeDisplayName ();
返回
如果应当将 属性值序列化,则为 true;否则为 false。
2️⃣ Assign<T>类
♈ 定义
用于从工作流内设置 值的 活动。
public sealed class Assign<T> : System.Activities.CodeActivity
类型参数 T 分配的值的类型。
♊ 属性
CacheId
获取缓存的标识符,该标识符在工作流定义的作用域内是唯一的。
protected internal int CacheId { get; }
Constraints
获取可配置的 活动的集合,用于为 提供验证。
protected System.Collections.ObjectModel.Collection<System.Activities.Validation.Constraint> Constraints { get; }
DisplayName
获取或设置用于调试、验证、异常处理和跟踪的可选友好名称。
public string DisplayName { get; set; }
Id
获取一个标识符,该标识符在工作流定义的作用域内是唯一的。
public string Id { get; }
To
指定活动将为其分配活动的 值的 。
[System.Activities.RequiredArgument] public System.Activities.OutArgument To { get; set; }
Value
指定分配的值。
[System.Activities.RequiredArgument] public System.Activities.InArgument Value { get; set; }
♌ 方法
Execute(CodeActivityContext)
在派生类中实现时,执行该活动。
protected abstract void Execute (System.Activities.CodeActivityContext context);
参数
context 执行活动时所处的执行上下文。
ShouldSerializeDisplayName()
指示是否应序列化 属性。
public bool ShouldSerializeDisplayName ();
返回