.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进行判断并控制。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值