程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 妙用Cache檢驗用戶是否重復登陸

妙用Cache檢驗用戶是否重復登陸

編輯:.NET實例教程

網上看到可用Cache來判斷用戶是否已登陸的方法,感覺還不錯。實驗後,特此分享代碼

原理比較簡單:
判斷cache中是否已存在規定的客戶登陸字符串,如果沒有便添加,同時指定其在cache中的保存時間。重復登陸時,便能通過判斷cache值是否為空來判斷用戶是否重復登陸了。

//生成Key  
string sKey = TextBox1.Text + "_IsLogin";
//得到Cache中的給定Key的值  
string sUser = Convert.ToString(Cache[sKey]);

//檢查是否存在  
if (sUser == null || sUser == String.Empty)
{
    //Cache中沒有該Key的項目,表明用戶沒有登錄,或者已經登錄超時     
    //TimeSpan 表示一個時間間隔,獲取系統對session超時作的設置值
    //TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
    //(如果考慮到允許用戶再次登陸的時間小於session超時時間,可將此值設小,在此示例中設置為一分鐘)
    TimeSpan SessTimeOut = new TimeSpan(0, 0, 1, 0, 0);
    HttpContext.Current.Cache.Insert(sKey, sKey, null, DateTime.MaxValue, SessTimeOut,
 System.Web.Caching.CacheItemPriority.NotRemovable, null);
    //首次登錄,您可以做您想做的工作了。  
    Label1.Text = "你好!歡迎光臨";
}
else
{
    //在Cache中發現該用戶的記錄,表名已經登錄過,禁止再次登錄  
    Label1.Text = "對不起,你已在別處登陸.或者在1分鐘後重試";
    return;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved