是否在重新连接时自动处理组订阅?

gav*_*ins 7 signalr

我有一个聊天室使用SignalR Hub进行消息传递.偶尔我会收到用户"冻结"的报告.现在这可以被解释为没有消息通过,我怀疑它们已从组中删除.

我的问题是,连接是否会自动重新订阅回其组中,或者您是否必须自己在Reconnect方法中执行某些操作:

public Task Reconnect(IEnumerable<string> groups)
{
        return Clients.rejoined(Context.ConnectionId, DateTime.Now.ToString());
}
Run Code Online (Sandbox Code Playgroud)

Dre*_*rsh 5

是的,在1.0.0.0-alpha1中,您可以使用新的AutoRejoiningGroupsModule管道模块,使用EnableAutoRejoiningGroups您构建的集线器管道的扩展方法,启用组的自动重新加入.此功能在以前版本的框架中不可用.

所以你最终会在你的启动代码中找到它:

GlobalHost.HubPipeline.EnableAutoRejoiningGroups();
Run Code Online (Sandbox Code Playgroud)

更新:

请注意,SignalR 1.0的最终版本使组自动重新加入默认行为,因此EnableAutoRejoiningGroups被删除.您可以查看此答案以获取更多详细信息.