C# 如何配置消费以使用不同的邮件类型?(MassTransit)
我使用MassTransit和Azure服务巴士作为交通工具。我创建了IAlert和实现IAlert的IAlertExt。 我正在尝试发布两条消息:C# 如何配置消费以使用不同的邮件类型?(MassTransit),c#,azure,azureservicebus,masstransit,C#,Azure,Azureservicebus,Masstransit,我使用MassTransit和Azure服务巴士作为交通工具。我创建了IAlert和实现IAlert的IAlertExt。 我正在尝试发布两条消息: busControl.Publish<IAlert>(new Alert(customerId)); busControl.Publish<IAlertExt>(new AlertExt(customerId)); public class AlertConsumer : IConsumer<IAlert>
busControl.Publish<IAlert>(new Alert(customerId));
busControl.Publish<IAlertExt>(new AlertExt(customerId));
public class AlertConsumer : IConsumer<IAlert>
{
public async Task Consume(ConsumeContext<IAlert> context){
...
}
}
public class AlertExtConsumer : IConsumer<IAlertExt>
{
public async Task Consume(ConsumeContext<IAlertExt> context){
...
}
}
busControl.Publish(新警报(customerId));
发布(新的AlertExt(customerId));
并编写消费者来处理消息:
busControl.Publish<IAlert>(new Alert(customerId));
busControl.Publish<IAlertExt>(new AlertExt(customerId));
public class AlertConsumer : IConsumer<IAlert>
{
public async Task Consume(ConsumeContext<IAlert> context){
...
}
}
public class AlertExtConsumer : IConsumer<IAlertExt>
{
public async Task Consume(ConsumeContext<IAlertExt> context){
...
}
}
公共类AlertConsumer:IConsumer
{
公共异步任务使用(使用上下文){
...
}
}
公共类AlertExtConsumer:IConsumer
{
公共异步任务使用(使用上下文){
...
}
}
现在,在发布之后,两个使用者检索一条使用通用接口发布的消息
如何强制AlertExtConsumer检索不仅使用IAlertExt发布的消息,还使用IAlert发布的消息?您可以将两个接口放在同一个使用者中,如下所示
public class AlertConsumer :
IConsumer<IAlert>,
IConsumer<IAlertExt>
{
public async Task Consume(ConsumeContext<IAlert> context){
...
}
public async Task Consume(ConsumeContext<IAlertExt> context){
...
}
}
公共类AlertConsumer:
我的消费者,
消费者
{
公共异步任务使用(使用上下文){
...
}
公共异步任务使用(使用上下文){
...
}
}
两个接口都将绑定到同一个使用者队列