会话状态进行中(InProc)模式:何时忘记?

时间:2014-05-04 20:08:43

标签: asp.net session iis

我在我的网络应用程序中使用InProc会话状态模式。

为了测试客户端在会话丢失时的行为,我重新启动了Web服务器,首先是iis,然后是整个机器。这两项行动都没有导致会话损失。

这让我很困惑:会话存储在内存中,对吧?机器重启后如何保留会话? IIS是否在重新启动时将会话转储到磁盘上?如果是,那么这里有哪些文档以及如何刷新会话以进行测试?

我在Windows Server 2012上使用IIS 8.

编辑:我不知道我是否真的失去了会话 - 我知道我的cookie仍然被接受。 (我实际上并没有使用任何“会话”,我只需要对用户进行身份验证。)即使在实际会话丢失后,身份验证票证也可以使用,如建议here

编辑:另请查看here以获取有关表单身份验证Cookie及其中的内容的更多信息。

1 个答案:

答案 0 :(得分:1)

与我的假设相反,cookie中的身份验证条目不仅仅是会话的不透明标识符,而且实际上是具有到期时间的加密用户名。它根本不与会话直接相关,其有效性与任何会话的有效性无关。

这意味着认证到期和会话丢失是通常在不同时间发生的两个不同事件

请查看this和此link以获取更多信息。