尝试使用 EasyNetQ 配置 Simple Injector DI 库。实现这一目标的正确方法是什么?
项目中包含可用的 NuGet 包“EasyNetQ.DI.SimpleInjector”。添加了类似的代码InjectionExtensions.RegisterAsEasyNetQContainerFactory(container);
。但是,当尝试创建像Bus = RabbitHutch.CreateBus(<ConnectionString>)
. 它抛出了一个错误,比如
首次调用 GetInstance、GetAllInstances 和 Verify 后无法更改容器
如果我使用 Simple Injector 注册 Bus 对象,例如
container.Register<IBus>(() => RabbitHutch.CreateBus(
"username=guest;password=guest;virtualHost=chidemo;host=localhost"),
Lifestyle.Singleton);
然后使用构造函数注入它然后它工作正常。但是看起来'EasyNetQ.DI.SimpleInjector'包的正确使用。
任何人都可以建议正确的方法或分享工作代码片段吗?
@dotnetjunkie @gpauls:如果您能提供专家意见,那就太好了!