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;
            }
        }
    }

把程序运行起来,这也是没有问题的。

image.

除了外部通知,GlobalHost还可以做一些其它的全局配置,可以看到有链接的超时时间、断线重连的超时时间、消息的默认大小、websocket模式下的消息默认大小、传输的超时时间

image

posted @ 2017-01-24 20:32  liangshiwei  阅读(922)  评论(1编辑  收藏  举报