我已将sessionState配置为使用下面的自定义sql服务器,并将其设置为在1分钟后过期.似乎会话始终保留在浏览器和sql Server上.我甚至将regenerateExpiredSessionId设置为false并且仍然存在相同的问题.我在IIS 7
windows 7 pro下运行asp.net 4.0.
我的web.config配置
<sessionState mode="sqlServer" allowCustomsqlDatabase="true" sqlConnectionString="Data Source=MYCON\sql2008REXPRESS;Initial Catalog=DBASPState; User ID=DB1543Write;Password=test" timeout="1" sqlCommandTimeout="10" regenerateExpiredSessionId="false" stateNetworkTimeout="10" compressionEnabled="true" cookieless="false" />
我在sessionstate数据库中检查了表ASPStateTempSessions并查看了其中的记录.读写,当前使用此数据库的urrent用户配置所有者权限. “Even Viewer”没有错误.
我已经检查了ASPStateTempSessions表中的值,并且在下面看起来似乎会话比较5小时比较1分钟.似乎asp.net使用另一个时区而不是当前的机器时区将其配置为在1分钟内过期.
我当前的时间是12/17/2011 11:29 AM
数据库列的值为CreatedDate(列)2011-12-17 17:29:01.677
到期(专栏)2011-12-17 17:30:03.903
有关数据库值的完整详细信息如下.
第一个记录是我第一次访问我的网站时
SessionId,Created,Expires,LockDate,LockDateLocal,LockCookie,Timeout,Locked,SessionItemShort,SessionItemLong,Flags 0wtp4j0traj5e0gydygkyoe22476b033 2011-12-17 17:29:01.677 2011-12-17 17:30:03.903 2011-12-17 17:29:03.873 2011-12-17 11:29:03.873 11 1 False <Binary data> NULL 0
在我按下浏览器上的“刷新”按钮后,记录已使用新的过期时间进行更新,但会话信息仍然存在
0wtp4j0traj5e0gydygkyoe22476b033 2011-12-17 17:29:01.677 2011-12-17 17:37:08.910 2011-12-17 17:36:08.907 2011-12-17 11:36:08.907 13 1 False <Binary data> NULL 0
有任何想法吗?