是否可以将Servicebus中的一个主题预订到同一服务总线中的另一个主题。如果可能,如何在运行时(通过代码)实现此功能。 谢谢。
答案 0 :(得分:0)
如果要将消息从主题A发送到主题B 在主题A下创建订阅,然后转发所有消息到主题B。
:)
希望这会有所帮助
答案 1 :(得分:0)
正如我所说,服务总线autoforwarding
功能使您可以将队列或订阅链接到属于相同名称空间的另一个队列或主题。
启用autoforwarding
后,服务总线会自动 删除放置在第一个队列或订阅(源)中的消息,并将其放入第二个队列或主题(目的地)中。仍然可以直接将消息发送到目标实体。另外,不可能将子队列(例如,死信队列)链接到另一个队列或主题。
您可以通过在源的SubscriptionDescription.ForwardTo对象上设置SubscriptionDescription属性来启用自动转发,如以下示例所示:
SubscriptionDescription srcSubscription = new SubscriptionDescription (srcTopic, srcSubscriptionName);
srcSubscription.ForwardTo = destTopic;
namespaceManager.CreateSubscription(srcSubscription));
有关更多详细信息,您可以参考此article。
答案 2 :(得分:0)
您可以使用“自动转发”属性将主题订阅的消息转发到另一个主题。您可以使用主题订阅的forwardTo属性将主题订阅的主队列中的消息转发到另一个主题。如果要转发主题订阅的死信子队列中的消息,则可以使用主题订阅的forwardDeadLetteredMessagesTo属性。
设置forwardTo属性的一个限制是您只能将消息转发到同一名称空间中的队列和主题。要了解有关自动转发的更多信息,请参阅here