Ami*_*abh 3 asp.net session session-state asp.net-4.0
我使用的是Asp.Net 4.0,会话状态的配置如下所示.
<sessionState mode="SQLServer" cookieless="false" timeout="5"
allowCustomSqlDatabase="true"
sqlConnectionString="data source=.\SqlExpress;initial catalog=App_SessionState;user id=sa;password=xxxxxxxx"/>
Run Code Online (Sandbox Code Playgroud)
如果我在浏览器中没有活动大约10分钟,则不应删除Session对象.但是10分钟后我仍然可以访问Session变量.我在这里错过了什么吗?
编辑:
如果我在10分钟后访问一个会话变量,如下所示,我不应该得到NULL
var myObj = Session["MyKey"] as MyClass;
Run Code Online (Sandbox Code Playgroud)
10分钟后mObj不为NULL.
安装了一个调用的存储过程DeleteExpiredSessions,从作业调用ASPState_Job_DeleteExpiredSessions,并且每分钟执行一次(如果我正确读取了InstallSqlState.sql文件).
程序基本上要求 DELETE FROM ASPStateTempSessions WHERE Expires < GETUTCDATE()
因此,如果未删除对象,请检查Expires列,并验证您是否与utc日期进行比较.如果有疑问,请做一个SELECT * FROM ASPStateTempSessions WHERE Expires < GETUTCDATE().此外,请确保您ASPState_Job_DeleteExpiresSessions已启用并正常工作.
一个快速(完全未经证实的想法); SQL Server Express附带SQL Agent吗?它是否已启用并能够执行预定作业?
| 归档时间: |
|
| 查看次数: |
3465 次 |
| 最近记录: |