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

时间:2011-09-22 20:17:24

标签: asp.net sql-server ajax

我正在努力解决问题。我有一个asp.net转发器,显示从sql server数据库获取的用户朋友的状态。

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

我得到的唯一想法是放置计时器并调用存储过程来获取朋友列表,每10秒检查一次他们的雕像,但这种机制有2个大问题

1-针对1个用户的数据库调用太多(每10秒左右1个数据库调用)..想象一下,如果该站点有10000个用户,我就无法使用此技术。 2 - 这种技术也很慢,因为我必须得到结果并循环遍历转发器中的每个用户并检查/更新他/她的状态......假设该站点有10000个用户

我在Facebook上看到他们在实时基础上这样做,我想要几乎相似的机制......我怎么能这样做?任何来自.net观点的代码或教程都将不胜感激

1 个答案:

答案 0 :(得分:0)

你可以做一个sqldependency,当一行更新而不是一遍又一遍地敲击数据库时,它会“跳动”。推动系统而不是拉动系统。但话说回来,如果表格被很好地索引并且他们的统计数据是最新的,那么用(nolock)阅读并不昂贵。

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