使用“会话状态”功能页可以配置在不同的浏览器会话之间保持信息的行为。

UI 元素列表

下表描述了功能页上和“操作”窗格中提供的 UI 元素。

功能页元素

元素名称描述

未启用

禁用会话状态。

在进程中

在运行应用程序的工作进程中存储托管代码应用程序的会话状态数据。这是默认设置。

自定义

将 IIS 配置为使用自定义提供程序来处理 ASP.NET 应用程序的会话状态。

状态服务器

启用 Windows Aspnet_state.exe 状态服务并在运行应用程序的工作进程之外存储会话状态。此配置的优点是当应用程序的工作进程回收时,保存会话状态。建议对中型 Web 应用程序使用状态服务器。要配置的设置有:

  • 连接字符串 - 设置用于连接状态服务器的连接字符串。

  • 超时(秒) - 设置连接保持的时间(秒)。默认值为 10 秒。

重要

必须运行 Windows 状态服务 (Aspnet_state.exe),才能使进程外会话状态生效。默认情况下,当安装 ASP.NET 并将其配置为手动启动时,会安装该服务。您必须将启动行为更改为“自动”。

SQL Server

将 IIS 配置为使用 SQL Server 数据库来存储会话状态数据,而不是将其存储在运行应用程序的工作进程中。此配置的优点是当应用程序的工作进程回收时或者当 Windows 状态服务或 Web 服务器关闭时,保存会话状态。要配置的设置有:

  • 连接字符串 - 设置用于连接状态服务器的连接字符串。

  • 超时(秒) - 设置连接保持的时间(秒)。默认值为 10 秒。

重要

在针对会话状态来配置 SQL Server 之前,必须在服务器上运行 InstallSqlState.sql 脚本。默认情况下,此脚本存储在 systemroot\Microsoft.NET\Framework\V2.0.50727 中。

启用自定义数据库

启用用于存储会话状态数据的自定义 SQL Server 数据库。

模式

定义使用 Cookie 存储会话状态数据的方式。选项包括:

  • 自动检测 - 如果浏览器支持 Cookie,则使用 Cookie;否则不使用 Cookie。对于已知支持 Cookie 的桌面浏览器,当在其中启用 Cookie 支持时,ASP.NET 将尝试使用 Cookie。当使用“自动检测”Cookie 模式时,应该要求重新生成过期的会话 ID。这样做会使 Web 服务器废弃原有的令牌而重新生成令牌,从而使得留给可能的攻击者捕获 Cookie 并访问 Web 服务器内容的时间减少。您还应当考虑将超时值更改为小于默认的 20 分钟。

  • 使用 Cookie - 在用户连接到网站的过程中将会话信息与客户端信息关联。Cookie 在 HTTP 头中随同所有请求一起在客户端与 Web 服务器之间传递。使用 Cookie 跟踪会话状态的方法比其他任何不使用 Cookie 的方法都高效,因为 Cookie 不要求重定向。另外,Cookie 可以让用户制作网页书签,并在用户离开一个站点而访问另一个站点,然后又回到原来的站点时,保留状态。

注意

您应当考虑将超时值更改为小于默认的 20 分钟,这样可能的攻击者捕获 Cookie 并访问 Web 站点内容的时间将减少。

  • 使用设备配置文件 - 如果设备配置文件支持 Cookie,则使用 Cookie;否则不使用 Cookie。如果设备配置文件表明支持 Cookie,就会使用它们,而不管用户是否禁用了 Cookie 支持。当使用“使用设备配置文件”Cookie 模式时,应当要求重新生成过期的会话 ID。这样做会使 Web 服务器废弃原有的令牌而重新生成令牌,从而使得留给可能的攻击者捕获 Cookie 并访问 Web 服务器内容的时间减少。您还应当考虑将超时值更改为小于默认的 20 分钟。

  • 使用 URI - 在统一资源标识符 (URI) 请求中,将会话 ID 作为查询字符串嵌入,然后将该 URI 重定向到最初请求的 URL。更改后的 URI 请求在会话期间使用,因此不需要任何 Cookie。使用 URI 时,应当要求重新生成过期的会话 ID。这样做会使 Web 服务器废弃原有的令牌而重新生成令牌,从而使得留给可能的攻击者捕获 Cookie 并访问 Web 服务器内容的时间减少。

名称

为 Cookie 设置一个名称。默认名称为 ASP.NET_SessionID。

超时(分钟)

设置 Cookie 将持续的时间(分钟)。默认值为 20 分钟。

重新生成过期的会话 ID

通知 IIS 拒绝并重新发布在数据库中没有对应的活动会话的会话 ID。默认情况下,仅对没有 Cookie 的会话 ID 支持此功能。但是通过实现自定义会话 ID 管理器,可以扩展该功能,管理 Cookie/任意会话 ID。

对模拟使用主机标识

对远程连接启用 Windows 身份验证和主机进程标识(ASP.NET 或 Windows 服务标识)。

“操作”窗格元素

元素名称描述

应用

保存您在功能页上所做的更改。

取消

取消您在功能页上所做的更改。

请参阅


目录