首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >成员User.IsOnline定义

成员User.IsOnline定义
EN

Stack Overflow用户
提问于 2014-01-09 12:25:45
回答 1查看 586关注 0票数 3

我有一个关于成员资格,更确切地说是IsOnline属性的问题。我读过一些资源,但我仍然不明白它是如何计算的,它是如何工作的,它是否正确工作。

因此,根据msdn:

如果当前日期和时间减去UserIsOnlineTimeWindow属性值的时间早于用户的LastActivityDate,则用户将被视为联机用户。

UserIsOnlineTimeWindow可以在web.config中配置,但是默认的是什么?

最后一次活动日期我不太明白最后一次活动日期是什么?

如果用户没有在网站上做任何事情,但他仍然存在,但他将被显示离线?有没有办法让用户在线显示?

最后一次活动日期更新后,用户需要做什么?

如果有人能给我举一个实数的例子,我会很感激的。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-09 14:26:08

UserIsOnlineTimeWindow可以在web.config中配置,但是默认的是什么?

我不知道默认值是什么,但我设想如果您计划使用IsOnline属性的默认行为,那么至少要将UserIsOnlineTimeWindow设置为一个特定的值。

最后一次活动日期我不太明白最后一次活动日期是什么?

无论何时使用LastActivityDateValidateUser方法,都会将CreateUser属性更新为当前的ValidateUser。您还可以自定义成员资格的其他方法以更新LastActivityDate,即GetUser()

如果用户没有在网站上做任何事情,但他仍然存在,但他将被显示离线?有没有办法让用户在线显示?

这就是UserIsOnlineTimeWindow发挥作用的地方:

代码语言:javascript
复制
public bool IsOnline {
    get 
    {
        return ((Datetime.Now - UserIsOnlineTimeWindow) < LastActivityDate)
        //this is the behavior that the MembershipProvider uses by default
        //as you already mentioned in your question
    }
}

根据这些信息,您有以下几种选择:

  1. 用自己的实现覆盖IsOnline属性
  2. 在其他成员关系方法中更新LastActivityDate属性

最后一次活动日期更新后,用户需要做什么?

默认情况下,这将仅通过使用CreateUserUpdateUserValidateUser进行更新,但正如我前面所说的,您可以自定义MembershipProvider以随时更新该属性。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21020207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档