Я работаю над проектом MVC3 и использую карту структуры привязки для своей инъекции зависимостей. Все было на месте, за исключением того, когда я начал использовать SignalR, когда я не могу реализовать свой DI, как на моих контроллерах. Я уже несколько дней гуглил о реализации структурной карты внедрения зависимостей в SignalR, но не нашел надежного примера того, как это сделать. Похоже, что все, кто использует SignalR, используют Ninject.
Моя цель состоит в том, чтобы иметь условные операторы (что требует от меня внедрения сервисов) внутри моего концентратора перед вызовом моих клиентских методов, но мне это не удалось.
Я не хотел, чтобы эта вещь задерживала мою разработку, поэтому я исследовал альтернативные способы, а затем обнаружил, что на самом деле могу вызывать свои клиентские методы из своих контроллеров, используя следующие коды:
IConnectionManager connectionManager = AspNetHost.DependencyResolver.Resolve<IConnectionManager>();
dynamic clients = connectionManager.GetClients<MyHub>();
clients.myClientScript();
Это работает для меня, но я не уверен, что это хороший подход, особенно если я использую внедрение зависимостей.
Итак, мой вопрос: можно ли продолжать вызывать это внутри моего контроллера? У вас есть лучший подход?
Спасибо