管道阶段
本主题讨论 执行模式 属性和阶段相关性。
在管道的执行期间,管道阶段只能运行第一个识别消息格式的组件或所有组件。 确定执行模式的 属性为 “执行模式”。
备注
此属性在管道模板包括的阶段中是只读的,但了解其工作原理非常重要。
当 “执行模式” 属性设置为“ 全部”时,阶段中的所有组件都按配置的顺序运行。 此模式运行多个组件来完成一项逻辑任务。 在这种情况下,如果任何组件在此管道阶段处理消息过程中遇到错误,都会导致运行时错误。
当管道用于接收多种格式的消息时, “执行模式” 属性设置为 FirstMatch。 在此模式下,只运行第一个识别消息的组件。 如果阶段中没有组件可识别消息,则会导致运行时错误。
请注意,每个阶段可以有自己的 执行模式 设置,因此管道中的不同阶段可以有不同的执行模式。
备注
在此版本的BizTalk Server中,发送管道中的所有阶段以及接收管道中除“反汇编”之外的所有阶段的“执行模式”属性的值设置为“全部”。 反汇编阶段中的 执行模式 属性的值设置为 FirstMatch。 不能更改阶段的执行 模式 属性。
在管道设计器中,单击相应的阶段形状。
在属性窗口的“常规”部分中,读取以下属性:
使用此选项 要执行此操作 名称 指示阶段的名称。 执行模式 指示阶段的执行模式。
有效值: All 或 FirstMatch最小组件数 指示可向阶段添加的最小管道组件数。 最大组件数 指示可向阶段添加的最大管道组件数。 阶段 ID 指示阶段的唯一标识符。
管道组件有阶段关联,这意味着管道组件是为在管道中特定的一个或多个阶段中使用而创建的。
基于 COM 的管道组件通过使用阶段 ID 作为实现类别自行注册来表达其阶段相关性,而 。基于 NET 的管道组件使用 ComponentCategory 类属性指定其阶段相关性。 请注意,组件可以将自身与多个阶段相关联,组件可以具有多个实现类别或 ComponentCategory 属性。
下表显示了可用的组件类别及其关联阶段:
组件类别 | 可放置组件的阶段 | 说明 |
---|---|---|
CATID_Decoder {9d0e4103-4cce-4536-83fa-4a5040674ad6} | 解码 | 所有解码组件都应实现此类别。 |
CATID_DisassemblingParser {9d0e4105-4cce-4536-83fa-4a5040674ad6} | 拆装 | 所有拆装组件和解析组件都应实现此类别。 |
CATID_Validate {9d0e410d-4cce-4536-83fa-4a5040674ad6} | 验证 | 验证组件应实现此类别。 |
CATID_PartyResolver {9d0e410e-4cce-4536-83fa-4a5040674ad6} | 解析参与方 | 用于参与方解析组件的阶段。 |
CATID_Encoder {9d0e4108-4cce-4536-83fa-4a5040674ad6} | 编码 | 所有编码组件都应实现此类别。 |
CATID_AssemblingSerializer {9d0e4107-4cce-4536-83fa-4a5040674ad6} | 序列化 | 所有序列化组件和组装组件都应实现此类别。 |
CATID_Any {9d0e4101-4cce-4536-83fa-4a5040674ad6} | 这些阶段中的任意阶段 | 如果某管道组件实现了此类别,则意味着该组件可以放置在管道的任意阶段中。 |