Как настроить Autofac и SignalR в приложении MVC 5

Я пытаюсь настроить приложение MVC 5 на использование SignalR 2.2.x и добавить сервис в мойNotificationsHub, Мы используем Autofac для MVC, но я не уверен, как правильно это настроить. Документация Autofac существует для NuGetAutofac.Integration.SignalR (3.0.2) а такжеAutofac.Integration.Mvc (3.3.4).

На данный момент я делаю регистрацию хабов через:

ContainerBuilder builder = new ContainerBuilder();

// Register MVC controllers.
builder.RegisterControllers(typeof(MvcApplication).Assembly);

builder.RegisterType<ServiceForSignalRHub>().AsImplementedInterfaces();
builder.RegisterType<...>().AsImplementedInterfaces();

builder.RegisterHubs(Assembly.GetExecutingAssembly());

IContainer container = builder.Build();

DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

Однако призыв к.SetResolver(...) является неоднозначным, поскольку существует как в пакетах интеграции MVC, так и в SignalR. Что теперь? Я не могу подтвердить, работает ли инъекция в мой сервис для используемого концентратора.

РЕДАКТИРОВАТЬ

Я могу настроить MVC5 с Autofac просто отлично. Я заблудился, как сделать то же самое с SignalR, используя интеграцию Autofac Signal NuGet. Пожалуйста, смотрите ниже.

Это мой стартовый класс:

public partial class Startup
{
    public void Configuration(IAppBuilder app)
    {
        var defaultFactory = LogManager.Use<DefaultFactory>();
        defaultFactory.Directory("@D:\\NServiceBus\\ );
        defaultFactory.Level(LogLevel.Debug);

        var container = ConfigureAutofac(app);

        ConfigureServiceBus(container, app);

        app.UseAutofacMiddleware(container); // REGISTER WITH OWIN
        app.UseAutofacMvc();

        ConfigureAuth(app);

        GlobalConfiguration.Configuration.UseSqlServerStorage("hangfire");

        ConfigureSignalR(app);
    }
}

Это часть, где я настраиваю SignalR:

public partial class Startup
{
    public void ConfigureSignalR(IAppBuilder app)
    {
        var builder = new ContainerBuilder();

        builder.RegisterHubs(Assembly.GetExecutingAssembly()).PropertiesAutowired();
        builder.RegisterType<MaintenanceService>().As<IMaintenanceService>().PropertiesAutowired();

        var container = builder.Build();
        //var container = new AutofacContainer().Container;

        var resolver = new AutofacDependencyResolver(container);

        // Any connection or hub wire up and configuration should go here
        app.MapSignalR(new HubConfiguration
        {
            Resolver = resolver,
            EnableJSONP = true,
            EnableDetailedErrors = true,
            EnableJavaScriptProxies = true
        });

        builder.RegisterInstance(resolver.Resolve<IConnectionManager>());
    }
}

Как это можно сделать правильно?

Ответы на вопрос(3)

Ваш ответ на вопрос