SignalR中心的团体不与长轮询工作(SignalR Hub's Groups dont

2019-10-17 12:47发布

我有集线器和持久连接一个Web应用程序(.NET 4.0 ASP.NET MVC3),其使用SignalR(1.0.0阿尔法2)。

随着集线器使用群组发送推送通知一些客户。

问题是,当服务器远程访问,则默认为长池,只有持久连接工作。 随着枢纽事件发生在服务器上,但我的回调是不是在客户端调用。 它的工作原理在本地,但它使用SSE。

我发现的是,分组在客户端和长池运输的组合是造成问题。 只要我得到VS2012我会尽量调试SignalR。

为了证明这一点,我刚刚得到这个聊天例如修改,以便使用硬编码组和长池被迫-这是行不通的,无论是我的机器(IISExpress)上,也不是服务器(IIS 7.5)。 聊天,只要你使用不同的传输或做工作

context.Clients.All.addMessage(message);

代替

context.Clients.Group(groupName).addMessage(message);

这里是一个样本项目。

是在SignalR错误或我失去了一些东西?

任何想法,为什么我的部署服务器SignalR会回落到长轮询的80端口,但使用SSE,如果在不同的端口上配置了我的网站?

Answer 1:

您需要启用自动重新加入组。

在你的启动代码坚持这一点:

GlobalHost.HubPipeline.EnableAutoRejoiningGroups();



文章来源: SignalR Hub's Groups dont work with long polling