2

我有一个向消息框发送消息 A 的编排。现在我有 2 个订阅者编排,它们根据过滤器表达式订阅消息。

现在,当我发送要路由到订阅者 1 的消息时,一切正常,但是当发送订阅者 2 的消息时,它被路由到目标文件夹,但在目标文件夹中创建了无限副本。我必须停止编排以停止生成重复的消息副本。

我究竟做错了什么?

4

2 回答 2

2

您收到的信息与您发送的信息相同吗?如果是这样,这将导致无限循环,因为您的接收位置将在发送消息时拾取消息。您需要更改接收上的过滤器,在编排中的消息中设置一个标志,然后可能对其进行过滤。

于 2013-06-12T10:29:01.547 回答
1

这通常是反馈循环的症状,即您遇到以下情况:

  • 实现一个接收端口,该端口监听发送端口发布消息的位置。
  • 使用配置为将消息发布到与其接收的相同模式的消息框的发送端口实现直接绑定编排(没有任何过滤)

这在直接绑定 ( MessageBox) 场景中尤其常见,因为它没有与Specify Now / Later设置一起应用的附加过滤器。解决方案通常是在订阅者上添加一个额外的过滤器 - 开箱即用,例如BTS.ReceivePortName,或自定义上下文属性),以便您可以区分已处理的消息。

于 2013-06-12T10:36:29.277 回答