c# - 在 ASP.NET 中处理 session 状态

标签 c# asp.net

我需要在随机注销时调试的应用程序之一的 web.config 中有以下 session 状态条目

<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 中的此条目, session 超时是多少。 20分钟?我们是否必须运行 Asp.net 状态服务才能使用 stateConnectionString?

最佳答案

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

如果您想使用其他模式,您应该将 InProc 更改为 StateServerSQLServer分别。更多详情here .

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

关于c# - 在 ASP.NET 中处理 session 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18876103/

相关文章:

c# - 为什么 ParallelQuery<T>.Where 在转换为 Observable 时不起作用?

c# - 如何在 asp.net 网站中添加 "service reference"?

asp.net - 路径 'PROPFIND' 被禁止?

c# - 为什么 Razor 没有添加适当的 Bootstrap 类来形成控件?

c# - OpenCV 直方图掩码

c# - 仅在部署到 IIS 后 Azure API 出现 403 错误

c# - 设置加载指示器的位置

asp.net - gmap 上不显示多边形

c# - 如何在不丢失其值(value)的情况下关注文本框

c# Convert.ToDouble 格式异常错误