7

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

我的问题是,连接是否会自动重新订阅回其组,或者您是否必须在 Reconnect 方法中自己做一些事情:

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

1 回答 1

5

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

所以你最终会在你的启动代码中的某个地方得到这个:

GlobalHost.HubPipeline.EnableAutoRejoiningGroups();

更新:

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

于 2012-11-10T17:26:35.617 回答