SignalR具有不可靠或暂停和重新连接的连接?

Joe*_* P. 11 signalr

我正在考虑更新现有网站以使用SignalR.我的站点轮询第三方服务以进行数据更改,对其进行一些魔术,并且客户端每隔几分钟轮询一次以使用任何更新刷新其视图.

SignalR似乎是消除客户端轮询的好方法,但我想知道SignalR如何处理丢弃和重新连接的连接,特别是关于可能已暂停一段时间的移动网络应用程序.它会自动协商并排队在此期间遗漏的任何更新,还是客户端需要在这些情况下从头开始重新同步?我看了,但找不到任何关于此的文档,所以指导将不胜感激.

dav*_*owl 10

所有这一切都是可能的,因为客户端会跟踪它看到的最后一条消息ID.如果它碰巧错过了消息,它将在下次返回服务器时获取它们(询问自上次看到的所有消息).

默认情况下,SignalR的服务器端将消息存储在内存中(并且每隔几秒就会清除一次),但是如果您正在考虑客户端脱机并赶上,您可以将其更改为持久存储到某个持久存储(请参阅IMessageStore).

您甚至可以在自己的app逻辑中自己保存消息,而SignalR会将内容存储在内存中.这实际上取决于应用程序.

我们尚未为移动客户端添加任何特殊支持,但您可以将消息ID保留在移动客户端所需的任何本地存储中.

这些细节不是很具体,但您想要做的就是使用SignalR.