教程集 www.jiaochengji.com
教程集 >  脚本编程  >  Asp.net  >  正文 c#防止同一账号重复登录(cache方法)

c#防止同一账号重复登录(cache方法)

发布时间:2015-12-22   编辑:jiaochengji.com
c#中防止同一账号重复登录的方法有不少,比如用数据库来记录用户登录情况、用Application来保存用户登录信息、用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中的账号密码信息

[关闭]
~ ~