在不使用成员资格控制的情况下,在c#中显示谁在线的最简单方法是什么? 唯一的方法是使用会话吗?
答案 0 :(得分:2)
您可以通过以下方式执行此操作:
var onlineUsers = System.Web.Security.Membership.GetAllUsers()
.Cast<System.Web.Security.MembershipUser>()
.Where(user => user.IsOnline);
但是你需要正确地缓存/刷新它,因为它可能是一个非常昂贵的操作。
答案 1 :(得分:0)
是转到global.asax并在application_start事件中创建新的List<>
用户类类型并将其保存到缓存
List<User> OnlineUsers = new List<User>();
Cache.Insert ("onlineuser",OnlineUsers,...);
并在您的loginButton代码中从缓存中获取列表并添加登录用户
User loggedin =someHelperCode.GetUser (txtUserName.Text,txtPassword.Text);
((List<User>)Cache["onlineuser"]).Add (loggedin);
当用户退出时,执行相同操作并删除用户
你可以将列表绑定到任何丢失的绑定控件