我刚开始使用SignalR for ASP.NET Core。我已经使用SignalR for ASP.NET几年了。
我正在使用:
Microsoft.AspNetCore.All 2.0.7
Microsoft.AspNetCore.SignalR 1.0.0-preview2-final
Microsoft.AspNetCore.SignalR.Client 1.0.0-preview2-final
似乎在SignalR的ASP.NET核心版本中,我不能再使用GlobalHost或IConnectionManager来获取对集线器上下文的引用。我可以使用DI在控制器中获取对集线器上下文的引用而没有任何问题。
public BroadcastController(IHubContext<NotificationHub> hubContext)
{
_hubContext = hubContext;
}
但我需要知道如何在控制器之外进行操作。
答案 0 :(得分:1)
您可以在除contoller之外的任何类中注入IHubContext。请查看下面的代码段:
public class NotificationListnerExtension : INotificationListnerExtension
{
private readonly IHubContext<Notification> _notificationHubContext;
public NotificationListnerExtension(
IHubContext<Notification> notificationHubContext)
{
_notificationHubContext = notificationHubContext;
}
}