<sessionState>元素
<configuration>//公共语言运行库和基于 .NET Framework 的应用程序所使用的每个配置文件中均需要的根元素
<system.web>//指定配置文件中 ASP.NET 配置设置的根元素,并且包含各种元素,这些元素配置 ASP.NET Web 应用程序并控制应用程序的行为方式
<sessionState>//元素配置当前应用程序的会话状态设置
必需的属性
属性 |
选项 |
描述 |
mode |
|
指定存储会话状态的位置。 |
|
Off |
指示会话状态没有启用。 |
|
InProc |
指示本地存储会话状态。 |
|
StateServer |
指示在远程服务器上存储会话状态。 |
|
SQLServer |
指示在 Microsoft SQL Server? 上存储会话状态。 |
可选的属性
属性 |
选项 |
描述 |
cookieless |
|
指定是否应该使用没有 Cookie 的会话来标识客户端会话。 |
|
true |
指示应该使用没有 Cookie 的会话。 |
|
false |
指示不应使用没有 Cookie 的会话。默认值是 false。 |
timeout |
|
指定会话在被放弃前处于空闲状态的分钟数。默认值是 20。 |
stateConnectionString |
|
指定远程存储会话状态所在的服务器名称和端口。例如,"tcpip=127.0.0.1:42424"。当 mode 为 StateServer 时,需要使用此属性。 |
sqlConnectionString |
|
为 SQL Server 指定连接字符串。例如,"data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"。当 mode 为 SQLServer 时,需要使用此属性。 |
stateNetworkTimeout |
|
当使用 StateServer 模式存储会话状态时,指定在会话被放弃前 Web 服务器和状态服务器之间的 TCP/IP 网络连接处于空闲状态的秒数。默认值是 10。 |
注释
使用 StateServer 模式
- 确保在存储会话状态信息的远程服务器上正在运行 ASP.NET 状态服务。此服务随 ASP.NET 一起安装,并且默认位于 <Drive>:\systemroot\Microsoft.NET\Framework\version\aspnet_state.exe。
- 在应用程序的 Web.config 文件中,设置 mode=StateServer 并设置 stateConnectionString 属性。例如,stateConnectionString="tcpip=sarath:42424"。
使用 SQLServer 模式
- 在运行 SQL Server 的计算机(将存储会话状态)上运行 InstallSqlState.sql(默认安装在 <Drive>:\systemroot\Microsoft.NET\Framework\version 中)。它将使用新的存储过程和 TempDB 数据库中的 ASPStateTempApplications 和 ASPStateTempSessions 表创建一个称为 ASPState 的数据库。
- 在应用程序的 Web.config 文件中,设置 mode=SQLServer 并设置 sqlConnectionString 属性。例如,sqlConnectionString="data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"。
示例
以下示例指定了几种会话状态配置设置。
<configuration>
<system.web>
<sessionState mode="InProc" cookieless="true" timeout="20"/>
</sessionState>
</system.web>
</configuration>