我遇到的情况是发布者和消费者坐在同一个应用程序中。我正在使用autofac。
据我了解,我需要2个具有2个端点的总线实例,一个用于发布者,一个用于订阅者。
我使用的是autofac,但是我不知道如何创建2个总线实例,每个实例都有自己的订阅类(应由autofac解决)。在JEE / CDI中,我将使用限定符,但据我所知,autofac并没有这样的功能(并且命名服务不会自动装配)。
所以基本上我有两个问题:
任何提示如何做到这一点?
它使用命名实例...
builder.Register(c => new FooImpl())
.As<IFoo>()
.Named("Foo1");
然后
container.ResolveNamed<IFoo>("Foo1");
如果我的Autofac语法正确无误。这至少应该使您走上正确的道路。只需请求each的一个实例,即可IServiceBus
从您的容器中解析和创建它们。
哦,您不能LoadFrom
用来注册消费者。您必须手动解决和注册每个人。由于调用LoadFrom
将在您的容器中注册所有使用方。
您可以创建两个子容器,每个子容器一个,IServiceBus
但是现在我们已经超出了我所知道的如何使用Autofac来解决问题的范围。您几乎可以使用其他容器来完成此操作,因此我认为您可以使用Autofac。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句