我在随机注销时需要调试的其中一个应用程序的web.config中有以下会话状态条目
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/>
我已经检查过webserver,win 2003,Asp.net状态服务没有运行,也没有运行sql server的实例。
会话根据web.config中的此条目超时。 20分钟?我们是否必须运行Asp.net状态服务才能使用stateConnectionString?
答案 0 :(得分:4)
您已将mode
属性设置为InProc
,这意味着会话将存储在IIS工作进程中。这意味着stateConnectionString
和sqlConnectionString
可能会被忽略。
如果您想使用其他模式,则应将InProc分别更改为StateServer
或SQLServer
。更多详情here。
使用InProc,会话应该仍然存储20分钟,但如果您的工作进程回收,默认情况下每29小时进行一次,它将丢失所有会话,因此您可能希望使用StateServer
(应启动ASP.NET状态服务),或管理登录用户任务的其他更持久的选项。