解决方案 »
- web.config配置问题
- 跪求如何获取好友的活动情况.
- 请教Server Error in '/' Application.问题
- 关于调试器的问题,高手快来看看,值得探讨!
- 怎样为自定义控件添加一个图标????急。。。
- 请TABLE控件的使用高手近来看看 关于格式的控制问题!
- 如何将特text中内容添加到SQl2000中的ntext或text中去
- 急:最近在调试方案的时候,有时候会出现类似的问题,有时候不出现,不知道是怎么回事
- 求助:VS2012 Ultimate 2012 旗舰版 安装后没有MVC模板
- 如何做嵌套模版的数据绑定?(可以再加分)
- 浏览器对于缓存的管理机制是什么
- 怎么通过点击不同区域,从而控制数据的选择,如图
--------------------------------------------------------------------------------------------------------为了限制使用用户最多30个在线我曾经在一个系统中这样做过..用户登录之后 就settimeout(3s)+ajax执行一个proc参数(uid用户编码)proc大概是这样的(时间久了有一些忘记了)操作表 uid lasttime 2个字段删除5秒之前的数据先判断当前表是否有uid这个用户..如果有 那么更新lasttime如果没有 insert table values(uid,getdate())------------------------------------------------------------------------------------------代码就这样了3s就会访问这个存储过程(当然是很多人都访问)为什么我说这个代码可以实现控制在线人数以及但用户登录呢.首先我们来说 如果2个人登陆 数据中只有2个.lasttime不断更新 ...如果你想判断登陆不允许重复 那么查询是否有这个用户即可.如果判断在线人数控制,.count即可假设 其中有一个人 意外掉线(不管是任何) 那么A在执行存储过程的时候 由于第一个操作(删除)会把这个人的记录删除..所以 在线人数 只有1 下一次在登陆 他执行的是 insert 然后才是update
所以 我认为我这个完全能实现你目前的功能.. !
你用什么技术监听session值是否过期?
LZ的问题是单用户 而不是单点登陆而且
单点登陆不是登陆一次访问多个系统吗
你用什么技术监听session值是否过期?
LZ的问题是单用户 而不是单点登陆而且
单点登陆不是登陆一次访问多个系统吗Quartz.Net session完全可以存数据库里 数据库触发器也可以。
你这需求 肯定不是用session来控制实现的。
而且,单点登录,是指 登录一次后,可以直接进入不同的系统中 类似于你登录xunlei.com后,可以直接进入lixian.xunlei.com。 迅雷看看首页和迅雷离线空间完全是两个的东西。
你用什么技术监听session值是否过期?
LZ的问题是单用户 而不是单点登陆而且
单点登陆不是登陆一次访问多个系统吗
我说的就是单用户。如果用户在A处登陆后未退出,而且忘记这件事情了,那么是不是以后永远也登不上去了?
页面载入时候比对凭据state是否和cache中的state一致(无cache取数据库),如果一致为最后登录的用户,如果不一致 说明在其他pc登录了
你用什么技术监听session值是否过期?
LZ的问题是单用户 而不是单点登陆而且
单点登陆不是登陆一次访问多个系统吗
我说的就是单用户。如果用户在A处登陆后未退出,而且忘记这件事情了,那么是不是以后永远也登不上去了?session会过期的
这样登录的时候可以不要检查session,而改为检查这个时间(大于你的时间间隔)就可以认为该用户不活跃了。
代价就是可能有性能问题。所以可以考虑将时间间隔设置成1-5分钟左右(视你自己项目情况而定)这样即便有人不小心关了浏览器,那么其他人登录等待的时间也不用太长。
1、用数据库保存SessionState,.net里面Session的存储方式有三种Inproc、StateServer和数据库,用数据库的话所有Session变量会保存到数据库的某个表里面,其它用户登录的时候只需要检查一下这个表里面是不是有某个用户的记录就行了,如果有Session没到期意外关闭的情况,等到Session超时时间到系统会自动清理,清理完成就可以登录了,session有效期默认可以保持20分钟(没有活动的情况下),等20分钟也不算长。2、顶楼那个表里面加两个字段SessionID 和 LastUpdateTime 用来记录当前登录用户的SessionID和最后一次请求时间,每次向服务器请求页面的时候都需要更新对应的LastUpdateTime字段内容为当前时间,其它用户登录的时候检查SessionID字段是否有内容和当前需要登录的用户的SessionID字段是否相同,如果有内容且不相同就再去检查LastUpdateTime时间有没有超时,自己定一个超时时间,超过了规定时间没有动作就当他已经退了