Asp.net 实现聊天系统:在哪里存储聊天数据?

Asp.net 实现聊天系统:在哪里存储聊天数据?,asp.net,sql,xmlhttprequest,chat,Asp.net,Sql,Xmlhttprequest,Chat,我正在asp.net中实现一个聊天系统,很像google chat,我使用xmhttp发送和接收数据,我使用一个表存储所有用户的所有聊天 我想使用XMLHttpRequest在sql中创建全局临时表,以便更好地组织数据(而不是将所有聊天存储在一个单独的表中,这可能(我不确定)在许多用户访问时导致锁定问题) 另外,对于我的系统,我不必存储聊天,因此我认为一个全局临时表会更好,因为它已经被删除了,省去了清除它的麻烦 但是在Xmlhttprequest创建了表之后,它在创建之后就被删除了…为什么会发生

我正在asp.net中实现一个聊天系统,很像google chat,我使用xmhttp发送和接收数据,我使用一个表存储所有用户的所有聊天

我想使用XMLHttpRequest在sql中创建全局临时表,以便更好地组织数据(而不是将所有聊天存储在一个单独的表中,这可能(我不确定)在许多用户访问时导致锁定问题)

另外,对于我的系统,我不必存储聊天,因此我认为一个全局临时表会更好,因为它已经被删除了,省去了清除它的麻烦

但是在Xmlhttprequest创建了表之后,它在创建之后就被删除了…为什么会发生这种情况我不知道…我也删除了所有的连接关闭行,但仍然没有运气


那我该怎么办??另外,如果有人知道任何在线资源可以向我指出要遵循的最佳实践,请告诉我。

您的表不会因为许多用户访问而出现锁定问题。临时表并不意味着共享交叉调用,而且在这条道路上会遇到更多的障碍。最好是将数据存储在一个表中,然后轮询该表

唯一可能出现“锁定问题”的情况是,如果用户试图同时将相同的数据块写入同一行。。。这不应该发生在聊天应用程序中


此外,GoogleChat使用COMET样式的实现而不是轮询实现。根据我的经验,COMET>在用户体验方面进行轮询。

实际上,您不应该在数据库中保留任何聊天信息。。。除非您正在实现脱机消息。

如果您不必存储聊天,为什么要将其放在数据库中?如果您担心锁定快照隔离-不要实现您自己的-使用IRC、Jabber或其他什么。那么我应该怎么做,告诉我如何处理它。抱歉,亲爱的,我不知道COMET样式,所以请告诉我。谢谢回复我。亲爱的,我明白了,但是我从来没有使用过它,所以如果你有任何在线的应用程序,那么它将对我非常有帮助。