从sql server数据库获得实时更新到基于ajax的asp.net网页.像facebook



我正在尝试解决一个问题。我有一个asp.net中继器,显示从sql server数据库与他们的状态获得的用户朋友。

在从数据库获取结果时,有些朋友可能在线,有些朋友可能离线,然后标记为离线/在线。现在我需要一种机制,当列表中的用户在线或离线时,我应该更新中继器中的朋友状态。2

我得到的唯一想法是放置计时器并调用存储过程每10秒后获得好友列表以检查他们的状态,但这种机制有两个大问题

1-对一个用户的数据库调用太多(大约每10秒调用一个数据库)。想象一下,如果网站有10000个用户,我就不能使用这种技术。2 -这种技术也很慢,因为我必须在中继器中获得结果并循环遍历每个用户并检查/更新他/她的状态......想象一下,如果这个网站有10000个用户

我在Facebook上看到他们是实时的,我想要类似的机制…我该怎么做??任何来自。net的代码或教程都将受到欢迎

您可以使用sqldependency,它会在一行更新时"触发",而不是一次又一次地敲打数据库。用推系统代替拉系统。但是,如果表的索引很好,并且它们的统计数据是最新的,那么使用(nolock)进行读取的代价并不高。

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldependency.aspx

最新更新