提示“只有在配置文件或Page指令中将enableSessionState设置为true……”解决办法

作者:佚名 来源:网络 点击数: 发布时间:2012年11月20日

问题描述在打开网站的时候出现错误提示“只有在配置文件或   Page   指令中将   enableSessionState   设置为   true   时,才能使用会话状态。还请确保在应用程序配置的   / /   节中包括   System.Web.SessionStateMod   或自定义会话状态模块。”如下图:

原因分析:通过对错误信息的分析,发现是因为WEB.CONFIG文件中的“应用程序配置回话状态设置”被修改过,因此导致上述错误。

解决办法:在web.config里添加

具体解释:

 

 

<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          指定在哪里存储会话状态。   
          Off  指示会话状态未启用。   
          InProc  指示在本地存储会话状态。   
          StateServer  指示在远程计算机上存储会话状态。   
          SQLServer  指示在  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  一起安装,其默认位置为  <驱动器>:/systemroot/Microsoft.NET/Framework/version /aspnet_state.exe。   
  在应用程序的  Web.config  文件中,设置  mode=StateServer  并设置  stateConnectionString  属性。例如,stateConnectionString="tcpip=sarath:42424"。   
  使用  SQLServer  模式   
 
  在运行  SQL  Server  的计算机(它将存储会话状态)上运行  InstallSqlState.sql(默认的安装位置为  <驱动器>:/systemroot/Microsoft.NET/Framework/version)。这将创建一个名为  ASPState  的数据库,该数据库具有新的存储过程并且在  TempDB  数据库中具有  ASPStateTempApplications  表和  ASPStateTempSessions  表。   
  在应用程序的  Web.config  文件中,设置  mode=SQLServer  并设置  sqlConnectionString  属性。例如,sqlConnectionString="data  source=localhost;Integrated  Security=SSPI;Initial  Catalog=northwind"。