我有一个DateTime LastSeen
属性,在上次看到用户时存储在数据库中。
在更新数据库时,我有一种方法是在登录期间验证用户时执行此操作。
另一种方法是如果我每20分钟更新一次数据库,我将这个逻辑放在asp.net mvc中?我是否需要在Cookie中设置lastupdate
并检查?除了在 global.ascx。文件中,我在哪里检查这个cookie?
其他系统如何做到这一点?
答案 0 :(得分:1)
就个人而言,我会从谷歌分析书中拿出一页并运行这个客户端。到那里:
a)设置一个处理程序/动作/某些东西,它接受http请求来处理记录用户“看到”的活动 b)设置ajax调用(a)以合理的间隔记录客户的活动。
这将让你更好地回答这个问题“如果bob刚刚打开网站,看到他没有任何消息,继续浏览[无论如何]”
答案 1 :(得分:0)
我认为,正如您所建议的那样,在用户登录时更新该值将是最简单的。
如果你的模型还有CreatedOn,CreatedBy,ModifiedOn,ModifiedBy属性,你也可以通过连接查询这些值到用户表上,看看他们是否在应用程序的其他地方处于活动状态,但这可能不如你的表现好在数据库中的每个表都需要连接。