问题描述
我知道此处但没有足够的代表发表评论并要求澄清.
I'm aware of a similar post here but don't have enough rep to comment and ask for clarification.
我一直在尝试达到所接受答案所暗示的类似目的, Azure Service Bus 上的一项服务捕获了所有Fault
事件,但看不到任何类型的Fault
正在发布.
I've been trying to achieve a similar thing as the accepted answer suggests, with one service on Azure Service Bus capturing all Fault
events, but can't see any events of type Fault
being published.
这就是我的订阅方式:
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
下看到我的订户.
Where FaultConsumerBase : IConsumer<Fault>
.
I can see my subscriber under masstransit/fault/FaultEventSubscription
.
从文档中,示例均为所有订户Fault<T>
.
因此,
From the documentation, the examples are all of subscribers Fault<T>
.
So,
- MassTransit是否仍发布所有
Fault
事件,或者它始终是Fault<T>
? - 如果是,一个人如何订阅?如果不是,那么建议使用哪种模式来捕获服务总线上的所有已发布故障(仅一次)?
例如,随着订阅新事件而不断更新的服务将是不可取的.
- Does MassTransit still publish all
Fault
events, or will it always beFault<T>
? - If yes, how does one subscribe to these? If no, what is the recommended pattern to catch all published Faults (just once) on the service bus?
A service that is constantly updated with subscriptions to new events, for example, would be undesirable.
推荐答案
正如@ChrisPatterson在对我的问题的评论中提到的那样,这在ASB上不起作用,因为ASB不支持多态消息传递.
As mentioned by @ChrisPatterson in comment to my quesiton, this is does not work on ASB due to the fact that ASB does not support polymorphic messaging.
这篇关于MassTransit-订阅Azure Service Bus上的所有故障事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!