如我的系统设计Session的过期时间为20分种
然后我登录的时候用Session["Login"] 来记录当前登录的是谁
还有用一个Cookies["Login"] 来记录登录的是谁
这个Cookies的过期时间设置和Session过期的时间一样
但问题是:
当用户登录的时候记录下了Seesion和Cookies,但在程序运行时我们如果有对
Session["Login"]进行读写的时候他的过期时间会延长
而Cookies并不能延长
所以就会造成Cookies过期了但Session还没有过期的问题
问:如何让一个Cookies和相应的Session的过期时间一样
然后我登录的时候用Session["Login"] 来记录当前登录的是谁
还有用一个Cookies["Login"] 来记录登录的是谁
这个Cookies的过期时间设置和Session过期的时间一样
但问题是:
当用户登录的时候记录下了Seesion和Cookies,但在程序运行时我们如果有对
Session["Login"]进行读写的时候他的过期时间会延长
而Cookies并不能延长
所以就会造成Cookies过期了但Session还没有过期的问题
问:如何让一个Cookies和相应的Session的过期时间一样
然后在Session过期的时候清除Cookies
-------------------------------------------------------
我也想这样啊,但原来的程序太多地方用到了这个Session
而且每个地方操作的时候都再来添加那条操作Cookies的不太理想有没有Seesion被用到时触发的过程啊
---------------------
这样其实也不太可能,比如都是20分钟过期,但客户关闭浏览器,那session马上就没了,不用等20分钟,但cookies不会关闭浏览器就没了
看这一贴:
|M| 用孟子E章的单点登录代码 再加上Cookies 来实现单点登录 大家看看可以怎么再改进
http://community.csdn.net/Expert/topic/5719/5719919.xml?temp=.6906855
---------------------
这样其实也不太可能,比如都是20分钟过期,但客户关闭浏览器,那session马上就没了,不用等20分钟,但cookies不会关闭浏览器就没了
=============Session会等 20分钟的,这个我测试过
============================================当客户关闭浏览器,并不是Session马上就没了,Session是存放于服务器端的,并不会因为客户端关闭浏览器的操作而销毁。当客户端第一次访问Web服务器的时候,服务器会给用户分配一个SessionID,这个SessionID是存放于客户端浏览器进程中的。这就正如你去银行取钱,钱是在银行(服务器端),但你总的有个标识(客户端存放的SessionID),当客户端关闭浏览器的时候,再打开浏览器,Web服务器会给客户一个新的SessionID,所以虽然服务器端的Session对象没有销毁,但我们已经无法去使用它了,只能等着它因为超时而销毁。
cookie.Expires = DateTime.Now.AddMinutes(Session.Timeout);
Response.Cookies.Set(cookie);
Cache对象的依赖项取Session对象
Session过期Cache失效,这时用一个方法也使Cookie过期
说到这,如果按我的说法,用Cookie以与Cache就可能了{Cache中保存着最新的用户的ID号和随机数[只有随机数相同才能有权操作系统。]}希望对LZ有帮助。