MassTransit-订阅Azure Service Bus上的所有故障事件

时间:2018-10-29 17:25:08

标签: azureservicebus masstransit

我知道有类似的帖子here,但没有足够的代表发表评论并要求澄清。

我一直在尝试达到所接受答案所暗示的类似目的, Azure Service Bus 上的一项服务捕获了所有Fault事件,但看不到任何事件类型Fault即将发布。

这就是我的订阅方式:

Bus.Factory.CreateUsingAzureServiceBus(
sbc =>
{
    var host = ConfigureServiceBus(serviceBusPath, sbc);
    sbc.SubscriptionEndpoint<Fault>(host, subscriptionName,
    ec => { ec.Consumer<FaultConsumerBase>(context); });
})

FaultConsumerBase : IConsumer<Fault>所在的位置。
我可以在masstransit/fault/FaultEventSubscription下看到我的订阅者。

documentation中,示例是所有订户Fault<T>
因此,

  1. MassTransit是否仍发布所有Fault事件,还是总是发布Fault<T>
  2. 如果是,一个人如何订阅?如果否,建议采用哪种模式来捕获服务总线上的所有已发布故障(仅一次)?
    例如,随着订阅新事件而不断更新的服务将是不希望的。

1 个答案:

答案 0 :(得分:0)

正如@ChrisPatterson在对我的问题的评论中提到的那样,由于ASB不支持多态消息传递,因此这不适用于ASB。