打开某个应用程序的配置文件Web.config后,我们会发现以下这段:
这一段就是配置应用程序是如何存储session信息的了。我们以下的各种操作主要是针对这一段配置展开。让我们先看看这一段配置中所包含的内容的意思。sessionState节点的语法是这样的:
必须有的属性是:属性选项描述
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秒钟。
这个SessionState.aspx的页面可以用来测试在当前的服务器上是否丢失了session信息。
将服务器session信息存储在进程中
让我们来回到Web.config文件的刚才那段段落中:
当mode的值是InProc时,说明服务器正在使用这种模式。
这种方式和以前asp中的模式一样,就是服务器将session信息存储在IIS进程中。当IIS关闭、重起后&#