从向外发送邮件中心Send messages from outside a hub
SignalR 中心是用于将消息发送到客户端连接到 SignalR 服务器的核心抽象。还有可能将消息从你的应用使用中的其他位置发送服务。此文章介绍了如何访问 SignalRIHubContext
将通知发送到外部的客户端从一个中心。
在 ASP.NET Core SignalR,您可以访问的实例IHubContext
通过依赖关系注入。您可以注入的实例IHubContext
到控制器、 中间件或其他 DI 服务。使用的实例将消息发送到客户端。
这不同于 ASP.NET 4.x SignalR GlobalHost 用于提供对访问IHubContext
。ASP.NET Core具有的依赖关系注入框架,无需此全局单一实例。
您可以注入的实例插入控制器将其添加到您的构造函数:
现在,有权访问的实例IHubContext
,好像您在中心本身中,可以调用集线器方法。
备注
外部的从调用集线器方法时Hub
类中,没有与调用相关联的任何调用方。因此,没有不能访问ConnectionId
, ,和Others
属性。
若要注入强类型化 HubContext,请确保你的中心继承Hub<T>
。将使用其注入IHubContext<THub, T>
接口而非IHubContext<THub>
。