小编Ole*_*iuk的帖子

如何配置 Consumer 以处理不同的消息类型?(MassTransit)

我使用 MassTransit 和 Azure 服务总线作为传输。我创建了 IAlert 和 IAlertExt 来实现 IAlert。我正在尝试发布两条消息:

busControl.Publish<IAlert>(new Alert(customerId));
busControl.Publish<IAlertExt>(new AlertExt(customerId));
Run Code Online (Sandbox Code Playgroud)

并编写消费者来处理消息:

public class AlertConsumer : IConsumer<IAlert>
    {
        public async Task Consume(ConsumeContext<IAlert> context){
           ...
        }
    }

public class AlertExtConsumer : IConsumer<IAlertExt>
    {
        public async Task Consume(ConsumeContext<IAlertExt> context){
            ...
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在,发布后,两个消费者都会检索一条使用通用接口发布的消息。

如何强制 AlertExtConsumer 不仅检索使用 IAlertExt 发布的消息,还检索使用 IAlert 发布的消息?

c# masstransit azure azureservicebus

4
推荐指数
1
解决办法
1968
查看次数

标签 统计

azure ×1

azureservicebus ×1

c# ×1

masstransit ×1