微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MassTransit - 任何将参数设置从 appsettings 注入到 ConfigureConsumer 的方法?

如何解决MassTransit - 任何将参数设置从 appsettings 注入到 ConfigureConsumer 的方法?

here 所述,我想从 appSettings.json 设置批处理设置。有没有办法通过 DI 使用 ConfigureConsumer 来做到这一点?

protected override void ConfigureConsumer(IReceiveEndpointConfigurator endpointConfigurator,IConsumerConfigurator<OrderAuditConsumer> consumerConfigurator)
        {
            consumerConfigurator.Options<BatchOptions>(options => options
                .SetMessageLimit(100)
                .SetTimeLimit(1000)
                .SetConcurrencyLimit(10));
        }

解决方法

您可以将依赖项添加到 ConsumerDefinition(具有问题中所示方法的类)的构造函数中,因为定义是在总线配置期间从容器解析的。这是一个非常常见的用例,而且很容易处理。

扩展 IOptions 类型对此很有用,它们是 .NET 的一部分(我认为是 Microsoft.Extensions.Configuration)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。