c# - 如何知道用户在网站上是否仍然在线或离线?

标签 c# model-view-controller asp.net-membership chat

我正在一个asp.net MVC网站中构建一个聊天系统,如果用户在网站上没有任何操作超过2分钟,我将把他的状态设置为离开。
我的问题是,如何知道用户是否离线,离线意味着他关闭了网站或退出。

我知道 Membership 类中有一个 isOnline 属性,但我没有使用 Membership 来安全登录该网站。

有没有办法知道用户是否在线,
或者如何实现这个membership.IsOnline以在我的代码中实现相同的效果。

最佳答案

要了解用户是否在网站上,您可以每分钟从客户端向服务器发送一个 AJAX 请求,服务器端检查收到的请求之间的时间,看看他是否不再在页面上。

如果你想检测用户是否“AFK”,但可能仍然在他的浏览器上打开网站,你必须添加按键、鼠标按下和鼠标移动的全局事件,并且只发送 AJAX如果在最后一分钟触发了其中一个事件,则每分钟请求一次。

关于c# - 如何知道用户在网站上是否仍然在线或离线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6903081/

相关文章:

c# - 使用 Razor 将 HtmlHelper 实例传递给另一个方法 MVC3

model-view-controller - 使用 EPPlus 读取 Excel 电子表格

c# - Unity iOS - 无法从 .Bundle 导入函数

c# - 如何实现实现另一个接口(interface)的通用接口(interface)?

javascript - 如何在初始页面加载时禁用 Backbone.js 路由

c# - 如何在重定向前加载新登录用户的配置文件

asp.net - 如何在 EF DbContext 和 AspNet Membership 之间共享连接以避免事务升级到 DTC

wcf - 是否可以在自托管 WCF 服务中使用 ASP.NET MembershipProvider/RoleProvider?

c# - static extern void Buffer.InternalBlockCopy 是 .NET Framework 的一部分吗?

php - Magento:将 bundle 中的简单产品添加到购物车中的单独行