将 SignalR IHubContext 绑定到 Net Core 2.1 中的 Ninject 内核



我正在使用NET Core 2.1并将Ninject作为我的DI,并且我正在尝试使用ninject在控制器构造函数中注入IHubContext,但收到此错误:

">Ninject.ActivationException: '激活 IHubContext 时出错 没有匹配的绑定可用,并且类型不可自绑定。

我已将 SignalR 添加到服务(服务。AddSignalR(((并将其映射到 IApplicationBuilder:.app。使用信号R(route => route.MapHub("/myhub"((;

还尝试从全局解析器绑定它:内核。Bind((。ToMethod(context => GlobalHost.DependencyResolver.Resolver(((.InSingletonScope((;但是没有运气,为了使用 Ninject 在我的控制器的构造函数中注入这个 IHubContext,我缺少什么。

谢谢。

终于解决了这个问题,对于其他有这个问题的人,尝试使用带有 Ninject 作为 DI 的 signalR。

var serviceProvider = app.ApplicationServices;
kernel.Bind<IHubContext<MyHub>>().ToMethod(context => serviceProvider.GetService<IHubContext<MyHub>>());

相关内容

  • 没有找到相关文章

最新更新