c#防止同一账号重复登录(cache方法)
本文为大家介绍如何利用缓存Cache方便地实现此功能。
Cache与Session这二个状态对像的其中有一个不同之处,Cache是一个全局对象,作用的范围是整个应用程序,所有用户;
而Session是一个用户会话对象,是局部对象,用于保存单个用户的信息。
只要把每次用户登录后的用户信息存储在Cache中,把Cache的Key名设为用户的登录名,Cache的过期时间设置为Session的超时时间,在用户每次登录的时候去判断一下Cache[用户名]是否有值,如果没有值,证明该用户没有登录,否则该用户已登录。
为大家举一个例子吧。
private void Button1_Click(object sender, System.EventArgs e)
{
string strUser=string.Empty;
string strCacheKey = this.TextBox1.Text;
strUser = Convert.ToString(Cache[strCacheKey]);
if(strUser == string.Empty)
{
TimeSpan SessTimeOut = new TimeSpan(0,0,System.Web.HttpContext.Current.Session.Timeout,0,0);
Cache.Insert(strCacheKey,strCacheKey,null,DateTime.MaxValue,SessTimeOut,CacheItemPriority.NotRemovable,null);
Session["User"] = strCacheKey;
this.Label1.Text = Session["User"].ToString();
}
else
{
this.Label1.Text = "这个用户已经登录!";
}
}
大家可以把上面代码用在自己的程序中,检测一下,有效防止同一账号的重复登录。
您可能感兴趣的文章:
c#防止同一账号重复登录(cache方法)
asp.net cache的用法一例-实例站点的单点登录
新浪微博如何注销账号?新浪微博注销账号4种方法
利用ASP.NET构建网上考试系统
手机QQ音乐如何已经登录的账号
爱奇艺vip会员账号被封停怎么办 账号被封停解封方法
qq音乐登录失败怎么办?qq音乐登陆失败解决方法
电脑开机提示“您的账户已被停用,请向系统管理员咨询”解决办法
Windows 8 应用闪退原因分析及修复方法
怎么删除保存在IE10中的账号密码信息