在 asp.net 中处理会话状态

本文关键字:处理 会话状态 net asp | 更新日期: 2023-09-27 18:31:53

我在 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"/>

我已经检查了网络服务器,win 2003,Asp.net 状态服务未运行,也没有SQL服务器实例正在运行。

根据 web.config 中的此条目,会话超时是多少。 20分钟?我们是否必须运行 Asp.net 状态服务才能使用 stateConnectionString?

在 asp.net 中处理会话状态

您已将 mode 属性设置为 InProc ,这意味着会话将存储在 IIS 工作进程中。这意味着stateConnectionStringsqlConnectionString可能会被忽略。

如果要

使用其他模式,则应将 InProc 分别更改为 StateServerSQLServer。更多细节在这里。

使用

InProc,会话仍应存储 20 分钟,但如果工作进程回收(默认情况下每 29 小时发生一次),它将丢失所有会话,因此你可能希望使用StateServer(ASP.NET 应启动状态服务)或其他更持久的选项来管理登录用户的任务。