读书人

session逾期时间

发布时间: 2013-09-06 10:17:17 作者: rapoo

session过期时间
<sessionState mode="SQLServer"
allowCustomSqlDatabase="true"
cookieless="false"
timeout="20"
sqlConnectionString="Uid=sa;Pwd=sa123;data source=127.0.0.1;Initial Catalog=ASPState;" />

web.config如上设置
我是本机开服务器调试,把系统的时间修改到第二天
为什么再次访问网站那个sessionstate还没过期
还能用Session("FirstName").ToString()得到呢? 知道有这种模式,没实际用过。
[解决办法]
newSession.Expires = DateTime.MaxValue;


这里的时间是你没有操作开始的,不是说你调到什么时候就会过期的
[解决办法]

引用:
Quote: 引用:

newSession.Expires = DateTime.MaxValue;


这里的时间是你没有操作开始的,不是说你调到什么时候就会过期的

我不访问网站,然后修改系统时间为第二天,这算不算是一天不操作呢
请帮忙解答,谢谢。

停止活动后开始计时,是计时,不是你调到第二天就会过期的
[解决办法]
也许是缓存吧
[解决办法]
你的机器有没有在域里面?

你确定你的时间没有被自动同步?


[解决办法]
或者你可以把你的测试代码打包分享出来
[解决办法]

引用:
谢谢你的回答,测试代码如上。
你说的域是局域网里面的域吧?
我的测试本机测试,即服务端和客户端都在一台机上
我不明白我的程序是什么原因
请指点。

我还真的不知道SQL Server方式或者State Server方式会根据那个时间而“过期”呢。我实在没有精力去查,你自己查查依据吧!至少我告诉你一个信息——我认为你可能是想当然了。
[解决办法]
其实,当你不使用 Inproc 方式的Session(显然是因为其“丢失”问题),那么你又何必要使用 Sql Server或者State Server来管理呢?因为 InProc 下的Session 优势已经没有了。

你只要有 SessionID就够了(而这个不会丢失),然后自己根据自己的需要在数据库或者别的什么地方保存会话状态数据就行了。
[解决办法]
他根据本地的时间 、 不知道、

读书人网 >asp.net

热点推荐