打开某个应用程序的配置文件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"
/>
这一段就是配置应用程序是如何存储Session信息的了。我们以下的各种操作主要是针对这一段配置展开。让我们先看看这一段配置中所包含的内容的意思。sessionState节点的语法是这样的:
<sessionState mode="Off|InProc|StateServer|SQLServer"
cookieless="true|false"
timeout="number of minutes"
stateConnectionString="tcpip=server:port"
sqlConnectionString="sql connection string"
stateNetworkTimeout="number of seconds"
/>
必须有的属性是
属性 | 选项 | 描述 |
mode | 设置将Session信息存储到哪里 | |
Off | 设置为不使用Session功能 | |
InProc | 设置为将Session存储在进程内,就是ASP中的存储方式,这是默认值。 | |
StateServer | 设置为将Session存储在独立的状态服务中。 | |
SQLServer | 设置将Session存储在SQL Server中。 |
可选的属性是:
属性 | 选项 | 描述 |
cookieless | 设置客户端的Session信息存储到哪里 | |
ture | 使用Cookieless模式 | |
false | 使用Cookie模式,这是默认值。 | |
timeout | 设置经过多少分钟后服务器自动放弃Session信息。默认为20分钟 | |
stateConnectionString | 设置将Session信息存储在状态服务中时使用的服务器名称和端口号,例如:"tcpip=127.0.0.1:42424”。当mode的值是StateServer是,这个属性是必需的。 | |
sqlConnectionString | 设置与SQL Server连接时的连接字符串。例如"data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"。当mode的值是SQLServer时,这个属性是必需的。 | |
stateNetworkTimeout | 设置当使用StateServer模式存储Session状态时,经过多少秒空闲后,断开Web服务器与存储状态信息的服务器的TCP/IP连接的。默认值是10秒钟。 |