Привязать SignalR IHubContext к ядру Ninject в net core 2.1 - PullRequest
1 голос
/ 23 января 2020

Я использую NET Core 2.1 и имею Ninject в качестве моего DI, и я пытаюсь внедрить IHubContext внутри конструктора контроллера, используя ninject, но получаю эту ошибку:

" Ninject.ActivationException: 'Ошибка активации IHubContext Нет соответствующих привязок, и тип не является самосвязываемым. "

Я добавил SignalR в службы ( services.AddSignalR () ) и сопоставил его для IApplicationBuilder: app.UseSignalR (route => route.MapHub ("/ myhub"));

Попытался также связать его с глобальным преобразователем: kernel.Bind (). ToMethod (context => GlobalHost.DependencyResolver.Resolve ()). InSingletonScope (); , но безуспешно, чего мне не хватает, чтобы внедрить этот IHubContext в конструктор моего контроллера с помощью Ninject.

Спасибо.

1 Ответ

1 голос
/ 25 января 2020

Наконец-то исправили эту проблему, для тех, кто имеет эту проблему, пытаясь использовать signalR с Ninject в качестве DI.

 var serviceProvider = app.ApplicationServices;
 kernel.Bind<IHubContext<MyHub>>().ToMethod(context => serviceProvider.GetService<IHubContext<MyHub>>());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...