本例完成的功能就是防止用户重复登录!若用户已经登录,则当其再次登录时,弹出提示框后返回! 
实现思路:
用户登录成功后,将用户登录信息存放到Hashtable类型的Application["Online"]里面,其键值为SessionID,其Value值为用户ID;当用户注销时,调用Session.Abandon;在Global.asax里面的SessionEnd事件中,将用户ID从Hashtable中删除;在用户访问页面时,察看Hashtable中是否有对应的用户ID如果没有则判断用户不在线(用户不在线的原因可能是按了注销按钮、网页超时等)
1、公用类中判断用户是否在线的函数(供用户调用)
 Code
Code
 Code
Code
 Code
Code
 Code
Code
实现思路:
用户登录成功后,将用户登录信息存放到Hashtable类型的Application["Online"]里面,其键值为SessionID,其Value值为用户ID;当用户注销时,调用Session.Abandon;在Global.asax里面的SessionEnd事件中,将用户ID从Hashtable中删除;在用户访问页面时,察看Hashtable中是否有对应的用户ID如果没有则判断用户不在线(用户不在线的原因可能是按了注销按钮、网页超时等)
1、公用类中判断用户是否在线的函数(供用户调用)
 Code
Code
2、用户登录事件处理:
 Code
Code
3、在Global.asax中的Session_End事件:
 Code
Code
4、在每一个页面需要刷新的地方,调用如下代码:
 Code
Code
深入思考: 
由本例的解决方法可以加以延伸,比如,在存储UserID的时候,将UserID+客户端IP地址一起存进去,则在将相应信息取出来分析的时候,可以做到:当用户在不同的计算机上先后登录的时候,则允许最近一次的登录,而将之前的登录删除!等等等等 
 
                    
                     
                    
                 
                    
                 
 
        





 
     }
        } 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号