SignalR 1.0 beta连接工厂

时间:2013-01-16 01:43:40

标签: signalr

现在SignalR的新版本已经废除了IConnectionFactory接口,建议用什么模式来设置客户端的连接ID?

1 个答案:

答案 0 :(得分:5)

在1.0中,不再有任何建议的模式来设置SignalR客户端的连接ID。

最佳做法是在SignalR服务器上维护状态,将应用程序的用户映射到连接ID。向此映射添加连接ID的明显位置是OnConnected。您可以使用OnDisconnected删除连接ID。

另一个选项,也可以在OnConnected中完成,是将客户端的连接ID添加到具有您之前在IConnectionIdFactory.CreateConnectionId中为客户端创建的名称的组。当然,该组只包含一个客户端,因此您可以将发送到自定义连接ID的所有消息发送给该组。

注意:如果您使用映射选项,如果您担心AppDomain重新启动并且您将此状态存储在某种静态变量而不是更持久的内容中,您可能还会尝试在OnReconnected中向地图添加连接ID。如果你要扩展SignalR,显然你需要共享状态。