網路上看到可用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;
}
http://www.cnblogs.com/heekui/archive/2006/12/14/591691.html