如何检查应用程序状态中的副本
我的问题场景:
我将用户名和密码存储在应用程序[“”]变量中。 另一个用户输入我想要检查每个用户的用户名密码。
我试过循环但很难找到计数..
你可以帮我查一下吗? for (int j = 0; j < (int)System.Web.HttpContext.Current.Application["Userlogin"].ToString().Length - 1; j++)
{
if (System.Web.HttpContext.Current.Application[i].ToString() == sKey)
{
Session["duplicateuser"] = "logout";
Returnmsg = "-3";
}
}
但它显示了应用程序[]
的字符串长度先谢谢
答案 0 :(得分:0)
哇,不要。应用程序状态由应用程序的所有用户共享。切勿将用户特定数据存储在应用程序状态改为使用会话状态。我将用户名和密码存储在应用程序[“”]变量
中
更新:
如果要检查并发用户访问权限,可以将一组用户存储到应用程序状态,例如IEnumerable<string>
。然后,您可以检查用户是否已经轻松登录:
public bool IsUserLoggedIn(string username, HttpApplicationStateBase application)
{
var users = application["users"] as IEnumerable<string>;
if (users == null)
{
users = new ConcurrentBag<string>();
application["users"] = users;
}
return users.Any(u => u == username);
}