原文:
Asp.Net SignalR GlobalHost外部通知
GlobalHost 外部通知
之前都是在集线器类中进行服务器对客户端的通知操作,但是在开发中往往会有需求监控某个系统 ,比如OA系统 上级领导在上面宣布下午两点要开会 那么就要通知到其他的人。这里在集线器中是不好实现的。还有各种各样的第三方通知需求,所以我们需要在集器线外部也可以进行通知
GlobalHost就可以助我们完成操作
这里创建了一个后台的处理程序,当我们请求是会使用GlobalHost拿到HubDemo集线器并对所有的连接客户端推送一条消息
public class BackgroundHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; var hub = GlobalHost.ConnectionManager.GetHubContext<HubDemo>(); //在集线器外部推送消息 hub.Clients.All.notice("都起来吃饭了"); } public bool IsReusable { get { return false; } } }
把程序运行起来,这也是没有问题的。
除了外部通知,GlobalHost还可以做一些其它的全局配置,可以看到有链接的超时时间、断线重连的超时时间、消息的默认大小、websocket模式下的消息默认大小、传输的超时时间