.net中控制多用戶登陸

剛剛實現了用session.sesssionid和application 來控制多用戶登陸。

主要代碼如下:

     void Application_Start(object sender, EventArgs e)
    {
        Application.Lock();
        ArrayList LoginList 
= new ArrayList();
        LoginList.Add(
"initalDate*");
        Application[
"LoginList"= LoginList;
        Application.UnLock();        
         
  }

void Session_End(object sender, EventArgs e) 
    {
        Application.Lock();
        
string userID = Session["UserID"].ToString();
        
string sessionID = Session.SessionID;
        ArrayList userLogin 
= (ArrayList)Application["LoginList"];
        
if (userLogin.Contains(userID))
        {
            userLogin.Remove(userID);
        }
        
if (userLogin.Contains(userID + "_" + sessionID))
        {
            userLogin.Remove(userID 
+ "_" + sessionID);
        }
        Application.UnLock();
}

 

登陸界面中主要代碼如下:

 


                ArrayList tempValue 
= new ArrayList();
                Session[
"UserName"= username;
                Session[
"UserID"= userID;
                Session[
"type"= usertype;
                Application.Lock();
                ArrayList userLogin 
= (ArrayList)Application["LoginList"];
                
if (userLogin.Contains(userID))
                {
                    
foreach (string listValue in userLogin) 
                    {
                        
if (listValue.Contains(userID + "_")) 
                        {
                            tempValue.Add(listValue);
                        }
                    }
                    
if (tempValue != null)
                    {
                        
for (int i = 0; i < tempValue.Count; i++)
                        {
                            userLogin.Remove(tempValue[i].ToString());
                        }
                    }
                    userLogin.Add(userID 
+ "_" + Session.SessionID);
                }
                
else
                {
                    userLogin.Add(userID);
                    userLogin.Add(userID 
+ "_" + Session.SessionID);
                }
                    
                Application.UnLock();

然後在各頁面中對session["userID"]和sessionID進行判斷並控制。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章