Использование Unity IoC для регистрации и разрешения узлов SignalR

Я думаю я'Я упускаю что-то очень простое и, возможно, просто нужно новый набор глаз. У меня есть приложение ASP.NET MVC. В этом приложении я использую Unity для своего IoC для обработки внедрения зависимостей. В каждом из моих репозиториев должна быть введена фабрика баз данных, а в каждую фабрику баз данных должен быть введен принципал. Пока что ямы использовали PerRequestLifetimeManager для их регистрации.

//Repositories

container.RegisterType(new PerRequestLifetimeManager());
           container.RegisterType(new PerRequestLifetimeManager());

//Context
container.RegisterType(new PerRequestLifetimeManager());
container.RegisterType(new PerRequestLifetimeManager());
container.RegisterType(new PerRequestLifetimeManager());

По логике вещей, яЯ пытался зарегистрировать мой Hub таким же образом.

container.RegisterType(new PerRequestLifetimeManager()); 

Однако всякий раз, когда я запускаю свое приложение и покидаю страницу чата, я получаю сообщение "Разрешение зависимости не удалось исключение и InnerException говорит мне "Операция недопустима из-за текущего состояния объекта. «Я»Мы также пытались использовать менеджеры Unity по умолчанию (Transient), PerResolve и ContainerControlled life при регистрации этих парней и, похоже, не смогли решить мою проблему.

Может кто-нибудь просто предоставить мне некоторый демонстрационный код о том, как вы использовали Unity в приложении ASP.NET MVC для обработки внедрения зависимостей в ваши концентраторы сигналов?

Вот'где Unity будет вводить параметры в мой SignalR Hub

public class ChatHub : Hub
{
    private readonly ChatMessageRepository _chatMessageRepository;
    private readonly SignalRConnectionRepository _signalRConnectionRepository;
    private readonly UnitOfWork _unitOfWork;

    public ChatHub(ChatMessageRepository chatMessageRepository,
        SignalRConnectionRepository signalRConnectionRepository,
        UnitOfWork unitOfWork)
    {
        _chatMessageRepository = chatMessageRepository;
        _signalRConnectionRepository = signalRConnectionRepository;
        _unitOfWork = unitOfWork;
    } ... }

Спасибо!

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

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