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

时间:2012-11-09 07:49:20

标签: signalr

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

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

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

1 个答案:

答案 0 :(得分:5)

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

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

GlobalHost.HubPipeline.EnableAutoRejoiningGroups();

<强>更新

请注意,SignalR 1.0的最终版本使组自动重新加入默认行为,因此删除了EnableAutoRejoiningGroups。您可以查看this answer了解详情。