由于 NServiceBus 内部使用 autofac,我应该通过 nservicebus 注册我的绑定还是应该像往常一样使用模块和绑定安装 AutoFac?如果是这样,因为我有一个 Windows 服务项目,我在哪里启动 autofac 设置?在我的 EndPointConfig.cs 中?
请注意,这是针对我自己的绑定,而不是自动注册的 IBus。
由于 NServiceBus 内部使用 autofac,我应该通过 nservicebus 注册我的绑定还是应该像往常一样使用模块和绑定安装 AutoFac?如果是这样,因为我有一个 Windows 服务项目,我在哪里启动 autofac 设置?在我的 EndPointConfig.cs 中?
请注意,这是针对我自己的绑定,而不是自动注册的 IBus。
在所有容器可用的情况下,端点配置中将有一个重载,以传入一个容器实例,该容器应该加载你所有的东西。从那里,NSB 将添加其内部内容,所有内容都可供您使用。
Configure.With().AutofacBuilder(builder)...
我有一个单独的类来实现 INeedInitialization。在它的初始化方法中,我配置了 DI。
例如:
using NServiceBus;
using NServiceBus.Config;
public class DependencyInjection : INeedInitialization
{
public void Init()
{
Configure.Instance.Configurer.RegisterSingleton<ISomeInterface>(
new SomeClassImplementingInterface());
}
}