为了账号安全,请及时绑定邮箱和手机立即绑定

使用依赖注入时的消息分区器?

使用依赖注入时的消息分区器?

C#
跃然一笑 2021-06-30 17:51:14
如何在通过依赖注入(autofac)注册消费者时设置消息分区,像这样 cfg.ReceiveEndpoint(host, c =>                    {                        c.LoadFrom(context);                        c.Durable = true;                    });所有消息都具有相同的标记界面 IDomainEvent<Guid>我希望所有消息都按该接口的 Id 属性进行分区。我正在考虑尝试这样的事情: c.Consumer<SomeViewConsumer>(context,ConfigurePartition<SomeViewConsumer>(partitioner)); c.Consumer<SomeOtherViewConsumer>(context,ConfigurePartition<SomeOtherViewConsumer>(partitioner));  private static Action<IConsumerConfigurator<TConsumer>> ConfigurePartition<TConsumer>(IPartitioner partitioner) where TConsumer : class  {        return n => n.Message<IDomainEvent<Guid>>(k => k.UsePartitioner(partitioner, consumeContext => consumeContext.Message.Id));  }这行得通吗?
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

没有自动方法可以做到这一点,因为必须知道消息类型才能配置返回分区键的分区程序委托。

我还担心在单个接收端点上使用太多不同的消息类型,方法是使用.LoadFrom().


查看完整回答
反对 回复 2021-07-03
  • 1 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信