Как правильно вводить автобус при использовании owinselfhost?

У меня есть контроллер веб-API asp.net, который отправляет сообщение nservicebus, то есть Bus.Send(). этот контроллер api самостоятельно размещается с использованием пакетов owinselfhost.

Как правильно вводить автобус, если я использую owinselfhost?

--редактировать--

вот код.. сейчас я использую autofac.. имея эти данные, я получаю исключение null ref на шине...

Рекомендации:

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

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);
    }

1 ответ

Решение

Вы попросили NServiceBus использовать Autofac, но не предоставили ему свой контейнер. Если вы передадите туда свой контейнер, вы получите шину для контроллеров.

Configure.With()
        .UsingContainer<AutofacObjectBuilder>(container)
        .UnicastBus()
        .SendOnly();
Другие вопросы по тегам