如何使用 Self-Correlating 直接绑定端口

自相关直接绑定端口是自引用的。 这表明自相关直接绑定端口提供了可用于将消息发送回其封闭业务流程的信息。 使用自相关直接绑定时,业务流程引擎对特定于业务流程实例的消息生成一个相关标记。 这提供了在不使用相关集的情况下将消息返回到特定业务流程实例的能力。

例如,可以通过为端口绑定指定 Direct 并在端口配置向导中选择“自相关”,在业务流程 A 中创建接收自相关直接绑定端口。 然后,在业务流程 B 中,将某个端口声明为业务流程 A 中定义的具有相同端口类型的发送端口业务流程参数。为此,请执行以下操作:

  1. 在“业务流程视图”窗口中,右键单击“ 业务流程参数”,然后单击“ 新建端口参数”。

  2. 在属性窗口,对于“通信方向”,选择“发送”,对于“端口类型”,请选择“业务流程 A”中定义的相同端口类型。

    该声明将在业务流程设计器中的端口图面上创建一个逻辑发送端口。 业务流程 A 使用 “启动业务流程” 形状调用业务流程 B,并将新端口作为参数以及其他业务流程参数传递给业务流程 B。然后业务流程 B 执行其业务逻辑,并在传递给它的新端口上发送消息。 此消息发送到启动了业务流程 B 的业务流程 A 实例的用于接收的自相关直接绑定端口。

    虽然前面的事件序列也可以使用 “调用业务流程” 形状完成,但只有在使用 “开始业务流程” 形状时才有意义。 这是因为在使用 调用业务流程 形状时,端口是通过引用传递的。 端口的极性在这两个业务流程中必须相同。 因此,从一个业务流程中传入的端口的通信方向必须与所调用业务流程中端口引用的方向相同。 但是,使用 “启动业务流程” 形状时,会生成业务流程的异步实例化,并且不能具有 OutRef 参数;因此,自相关直接绑定端口为业务流程提供了一种响应回实例化它的业务流程实例的方法。

    有关如何使用自相关直接绑定端口的示例,请参阅 上的 https://go.microsoft.com/fwlink/?LinkId=73703SDK 示例“实现散点和收集模式”。

另请参阅

如何使用 MessageBox 直接绑定端口如何使用合作伙伴业务流程直接绑定端口