如果使用 owinselfhost,注入总线的正确方法是什么?

What is the correct way of injecting the bus if using owinselfhost?

我有一个 asp.net 网络 api 控制器发送 nservicebus 消息,即 Bus.Send()。此 api 控制器是使用 owinselfhost 包自行托管的。

如果我使用 owinselfhost,注入总线的正确方法是什么?

--编辑--

这是代码..我现在使用 autofac..这些仍然给我一个总线上的空引用异常...

参考文献:

http://docs.autofac.org/en/latest/integration/webapi.html#owin-integration

http://docs.particular.net/nservicebus/containers/

--编辑--

public void Configuration(IAppBuilder app)
    {
        var builder = new ContainerBuilder();
        //this two controllers are from two separate class libraries.
        builder.RegisterApiControllers(typeof(Test1Controller).Assembly);
        builder.RegisterApiControllers(typeof(Test2Controller).Assembly);

        var config = new HttpConfiguration();
        config.MapHttpAttributeRoutes();

        var container = builder.Build();
        config.DependencyResolver = new AutofacWebApiDependencyResolver(container);

        Configure.With()
            .UsingContainer<AutofacObjectBuilder>()
            .UnicastBus()
            .SendOnly();

        app.UseAutofacMiddleware(container);
        app.UseAutofacWebApi(config);
        app.UseWebApi(config);
    }

你要求 NServiceBus 使用 Autofac 但你没有给它你的容器。如果你在那里传递你的容器,你将把总线注入你的控制器。

Configure.With()
        .UsingContainer<AutofacObjectBuilder>(container)
        .UnicastBus()
        .SendOnly();