接收形状
“接收”形状可用于启动编排。 如果将 Activate 属性设置为 True,运行时引擎将测试传入消息,以查看它是否为正确的类型,如果应用了筛选器,则是否满足筛选器表达式。 如果满足接收消息的条件,运行时引擎将创建并运行新的业务流程实例, 接收 形状接收消息。
注释
如果 Activate 属性的 Receive 的形状设置为 True,则 Receive 必须是业务流程编排中的第一个动作。
注释
如果在所有 Receive 形状上将 Activate 属性设置为 False,则必须由另一个业务流程图调用它才能运行。
注释
如果将 Receive 形状置于一个作用域内,并将 Activate 属性设置为 True,然后将 .NET 类变量添加到业务流程中,而不将变量 的“使用默认构造函数 ”属性更改为 False,则 activate receive 语句将在生成的 XLANG/S 代码中的作用域之外,但设计图面将继续显示为在作用域内。
每个业务流程必须至少有一个 Receive 形状,其 Activate 属性必须设置为 True。
如果希望收到之前发送的消息的间接或异步响应(不在请求-响应端口上),则需要将消息与当前正在运行的编排实例相关联,以便响应者能够将响应发送到正确的实例。 如果您计划对传入消息中的值进行后续关联,或者希望使用之前初始化的关联集进行关联,则可以将初始化关联集应用于接收形状。 有关详细信息,请参阅 在业务流程中使用相关性。
配置接收图形
设置消息和端口操作
在“业务流程视图”窗口中,验证您的业务流程是否已为正在接收的消息类型同时定义了消息和端口操作。
在“属性”窗口中,选择要从 “消息 ”属性下拉列表接收的消息。
在“属性”窗口中,从操作下拉列表中选择要接收消息的端口操作。
— 或 —
将接收连接线从 “接收 ”形状拖动到将接收消息的端口套接字。
指定 接收 形状将激活编排。
在“属性”窗口中,将“激活”属性设置为 True。
在“属性”窗口中,单击“筛选表达式”属性的 省略号 (...)按钮以创建筛选器以限制此 接收 形状接受的消息。
— 或 —
右键单击“接收”图形,然后单击“编辑筛选器表达式”。
此时会显示 “筛选器表达式 ”对话框。 使用此对话框创建一个或多个筛选器表达式。
注释
必须先定义消息类型并将其分配给 接收 形状,然后才能向其应用筛选器。
指定相关集以限制 接收 形状接受的消息。
对于每个要跟踪的关联集,请从正在跟踪的关联集属性的下拉列表中选择一个关联集。
对于要初始化的每个关联集,请从 “初始化相关集 ”属性的下拉列表中检查一个相关集。
筛选表达式网格控件
使用此网格控件来定义构成表达式的谓词,从而生成筛选器表达式。 可以从网格的单元格中添加、编辑和删除谓词。 此网格控件有四列:属性、运算符、值和分组。
财产。 可以键入属性引用,也可以从单元格的下拉列表中选择一个。 该列表包含传入消息的属性。
运算符。 可以在此单元格中键入,或从下拉列表中选择一个运算符。 可能的选择包括:
操作数 含义 == 等于 != 不等于 < 小于 <= 小于或等于 > 大于 >= 大于或等于 存在 存在 值。 Value 列中的单元格可以保存键入的任何常量:字符串文本、整数文本或 null。
注释
如果所选属性的类型为字符串,则值需以引号表示。 例如,SMTP。From = “MyServer”。
分组。 使用此列控制谓词分组。 筛选器表达式始终以分离法线形式(DNF)表示,因此可以自动确定分组。 AND 表示谓词将与其后面的谓词分组,而 OR 表示谓词与下一行中的谓词分开。 网格控件左侧的灰色方括号在谓词组合在一起时出现。 谓词组不能嵌套。 如果未在此单元格中指定值,则单元格的值默认为 AND。
例如,可以创建如下所示的表达式:
MSMQ.MsgID = 1
使用此筛选器,发送端口组将仅订阅 MSMQ 消息 ID 为 1 的消息。
可以创建其他表达式并指定它们与其他表达式有 AND 或 OR 关系,例如:
MSMQ.MsgID = 1 OR
SMTP.From = "MyServer"
在这种情况下,发送端口组将订阅所有满足以下条件之一的消息:MSMQ 消息 ID 为 1 或者从名为 MyServer 的 SMTP 服务器发送的消息。
提示标签
此字段提供用户指导。 标签文本根据包含活动单元格的列而更改。 文本显示列名称,后面是指导文本,如下:
财产。 请从列表中选择传入消息的属性。
运算符。 选择一个运算符以将属性与值进行比较。
值。 从列表中选择一个消息属性,或键入文本值。
分组。 指定如何将此行与下一行分组。 “AND”将联接这些行,“OR”将分隔它们。
“上移”按钮
单击此项可向上移动所选行。 (首先通过单击网格控件左侧的 向右箭头 (>) 按钮来选择一行。
“下移”按钮
单击此项可向下移动所选行。 (首先通过单击网格控件左侧的 向右箭头 (>) 按钮来选择一行。
筛选表达式已创建字段
此只读文本框在生成表达式时显示表达式。