如何从Unique sessionID中终止会话?

时间:2012-03-28 07:42:30

标签: c# asp.net

我已经计算了网络服务器的在线用户数量。我创建了用户名&将密码分配给个人计算机,然后使用此用户名,用户可以访问主页面&登录用户后,我在datatable中添加了用户名,会话ID,IP地址。如果我的用户已经从另一台计算机连接,那么同一用户从另一台计算机访问该信息,那么用户首先使用从sessionID中删除会话来断开已连接的当前计算机。然后另一个计算机功能自动禁用给用户,然后用户可以启动当前计算机的新会话。

如何从Unique sessionID&中删除会话禁用了另一台计算机用户的所有功能?

3 个答案:

答案 0 :(得分:0)

我会这样试试: 登录时生成一个随机字符串,将其写入会话变量并将其存储在数据库中,然后在ur页面中将这些值相互比较以验证用户访问权限。这样,用户只能登录一次。

答案 1 :(得分:0)

您可以使用此代码:

Session.Remove("keyOfSession");

答案 2 :(得分:0)

例如,您可以在ApplicationInstance中拥有一个属性对象,例如Dictionary:

  • 键将是userId
  • 值将是KeyValuePair的列表
    • KVP Key将是用户IP
    • KVP Value将是会话对象的WeakReference

在Session_Start结束时,您在Dictionary =>列表中为相应的用户插入一个项目,并将WeakReference保存到Session对象。 然后,您还End_)所有其他非空,弱引用,此用户的会话对象和其他IP(请注意,某些用户通过可能在请求之间更改的动态代理访问Internet)