判断是否已经登录ASP.net(C#)

[复制链接]
查看11 | 回复4 | 2010-9-20 17:05:47 | 显示全部楼层 |阅读模式
名与密码正确,查看(appliction 中的一个list集合,是否包括当前登录者的编号)如果包括,提示登录错误。如果没有,登录成功。
/////////////////////////////////////////////////////////////////////////////////
登录成功,将登陆者的编号存入appliction 中的list集合中。
//////////////////////////////////
退出时,删除appliction 中list内的相应的编号。
/////////////////////////////////
但,问题是,用户正常退出没问题。
但对于多页面浏览器、或者异常情况(如,死机、掉网),这个list就没法删除了。
http://shirlly.javaeye.com/blog/660249
你们觉得,这个回答怎么样?

回复

使用道具 举报

千问 | 2010-9-20 17:05:47 | 显示全部楼层
请这样处理。appliction 中存放了 当前用户的信息。每隔一段时间去检查一下。 如果超过多久的 都把这个用户进行删除。然后每次用户请求一次 就更新appliction 的最后访问时间。这样就不去管 当前用户是否已经离开了。那是否需要在每张页面进行 写更新语句呢?其实不用的,有专门的接口的方法 ,通道,httpmodule任何请求都会通过这里。在这里写一个更新操作即可。 我现在也在做一个精确的现在系统。如果是.net的 我实在不想说能做到多少精确。因为你无法判断当前用户是否已经退出了。Seesion是不靠谱的。于是 我做了一个事件。每当用户请求 我就更新他的操作时间,杯具发生的时候 是在 他录入一个很大的表单的时候,
回复

使用道具 举报

千问 | 2010-9-20 17:05:47 | 显示全部楼层
如果是windows系统加C#语言就没这么麻烦,直接判断当前安装的程序下面的这个哈西表保存了当前安装的程序 Hashtable programs = new Hashtable();
private void steupList()
{
try
{

回复

使用道具 举报

千问 | 2010-9-20 17:05:47 | 显示全部楼层
1.用session和cookie(设置寿命)2.写代码检测用户动作(长时间没动作去掉)3.检测网络连接状况(这个貌似麻烦)
回复

使用道具 举报

千问 | 2010-9-20 17:05:47 | 显示全部楼层
为什么不用Session,设置超时,生命周期。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行