保持数据最新

时间:2015-06-11 16:41:50

标签: c# asp.net sql-server forms-authentication

我正在开发一个聊天室网络应用程序,将用户连接到有限大小的房间。我无法弄清楚如何保持数据清洁。我正在使用表单身份验证来跟踪用户。有了它,我就能知道用户何时离线。在我的User表中,我有RoomID来跟踪用户的位置。我需要每5分钟运行一次检查,找到离线的用户并将找到的任何设置设置为不明确的房间,这样他们就不会在离线时占用房间空间。将此代码包含在我的应用程序中似乎是不好的做法,因为这意味着它将每5分钟在每个用户的实例上执行。我只需要它全局执行。

据我所知,我的选择如下......

  1. 创建一个单独的应用程序,每隔5分钟检查一次数据库,并将所有离线用户设置为1号房间。这种方法的缺点是我需要一台计算机在线100%运行应用程序,始终监控用户状态。

  2. 在我的应用中加入支票。缺点包括:多个不必要的数据库ping,同时由于多个房间删除可能导致崩溃等。

  3. 还有其他方法吗?任何帮助表示赞赏。

0 个答案:

没有答案