MassTransit - 订阅 Azure 服务总线上的所有故障事件
MassTransit - subscribing to all fault events on Azure Service Bus
我知道类似的 post 但没有足够的代表发表评论并要求澄清。
我一直在尝试实现与已接受的答案所建议的类似的事情,即 Azure 服务总线 上的一项服务捕获所有 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>
。
所以,
- MassTransit 是否仍会发布所有
Fault
事件,还是会一直发布 Fault<T>
?
- 如果是,如何订阅这些?如果不是,在服务总线上捕获所有已发布故障(仅一次)的推荐模式是什么?
例如,通过订阅新事件不断更新的服务是不受欢迎的。
正如@ChrisPatterson 在对我的问题的评论中提到的,这在 ASB 上不起作用,因为 ASB 不支持多态消息传递。
我知道类似的 post
我一直在尝试实现与已接受的答案所建议的类似的事情,即 Azure 服务总线 上的一项服务捕获所有 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>
。
所以,
- MassTransit 是否仍会发布所有
Fault
事件,还是会一直发布Fault<T>
? - 如果是,如何订阅这些?如果不是,在服务总线上捕获所有已发布故障(仅一次)的推荐模式是什么?
例如,通过订阅新事件不断更新的服务是不受欢迎的。
正如@ChrisPatterson 在对我的问题的评论中提到的,这在 ASB 上不起作用,因为 ASB 不支持多态消息传递。