从向外发送邮件中心Send messages from outside a hub

SignalR 中心是用于将消息发送到客户端连接到 SignalR 服务器的核心抽象。还有可能将消息从你的应用使用中的其他位置发送服务。此文章介绍了如何访问 SignalRIHubContext将通知发送到外部的客户端从一个中心。

(如何下载)

在 ASP.NET Core SignalR,您可以访问的实例IHubContext通过依赖关系注入。您可以注入的实例IHubContext到控制器、 中间件或其他 DI 服务。使用的实例将消息发送到客户端。

这不同于 ASP.NET 4.x SignalR GlobalHost 用于提供对访问IHubContextASP.NET Core具有的依赖关系注入框架,无需此全局单一实例。

您可以注入的实例插入控制器将其添加到您的构造函数:

现在,有权访问的实例IHubContext,好像您在中心本身中,可以调用集线器方法。

备注

外部的从调用集线器方法时Hub类中,没有与调用相关联的任何调用方。因此,没有不能访问ConnectionId, ,和Others属性。

若要注入强类型化 HubContext,请确保你的中心继承Hub<T>将使用其注入IHubContext<THub, T>接口而非IHubContext<THub>

相关资源Related resources