-->

ASP.NET看看会员在线(ASP.NET see if member is online)

2019-09-20 09:41发布

我正在开发的一把umbraco一个ASP.NET网站,我要看看是否与给定ID的成员是否在线。 我怎样才能做到这一点?

到目前为止,我已经试过这么让成员:

Member m = new Member(myID);

但是,我怎么能检查,如果返回的成员登录或没有?

编辑:我跟着链接,并从中提取出下面的代码:

var users = Membership.GetAllUsers();

foreach(MembershipUser user in users){
  Response.Write(user.IsOnline.ToString() +"<br/>");
  Response.Write(user.LastActivityDate.ToString() + "<br/>");
  Response.Write(user.LastLoginDate.ToString() + "<br/>");
}

但是,返回的结果表明,财产isOnline是真实的每一个成员,即使他们不在线。 我知道,那是因为一个事实,即LastActivityDate每当我访问用户自动更新,如下所述: 是否有可能访问配置文件,而无需更新LastActivityDate? 。 不幸的是,我没有得到解决这个问题。

我还试图通过访问该成员:米的MembershipUser = Membership.GetUser(“本身份识别码”,假); 但是,即使我把false作为第二个参数,该LastActivityDate仍然更新。 我怎样才能解决此问题? 我要指出,我与ASP.NET v工作。4.0一把umbraco 4.7在本地主机。

谢谢!

:编辑结束

最好的问候,Brinck10

Answer 1:

您可以使用MembershipUser.IsOnline属性 ,显示如果当前日期和时间减去UserIsOnlineTimeWindow属性值是早于lastActivityDate用户。

还有就是上一个示例MSDN页面 。

相对的:
正确的100%IsOnline实施asp.net成员资格
如何在ASP.NET检查用户是否在线?
asp.net定义成员资格提供:IsOnline财产



Answer 2:

该问题的解决方案:

(1)I中称为lastActivityDate的membertype由costum字段。

(2)我置于母版宏,更新会员的lastActivityDate给定的成员是在线当前时间。

(3)在确认页面我检查,如果lastActivityDate + CostumBuffer比DateTime.Now更大。

感谢您的耐心Aristos的。



文章来源: ASP.NET see if member is online