iis6下session经常获取不到的问题?
在我本地,以及公司内部的服务器上,网站登陆后一切正常
但是发布到外网服务器,经常出现session丢失,跳转到登录页面,刷新几次又正常
请问这是怎么回事?
------解决方案--------------------------------------------------------
http://blog.csdn.net/cryeyes/archive/2010/10/12/5935776.aspx
------解决方案--------------------------------------------------------
在web.config中
加上
<configuration>
<system.web>
<sessionState cookieless="true"
regenerateExpiredSessionId="true" />
</system.web>
</configuration>
------解决方案--------------------------------------------------------
你改变一下session的存储方式试试:
<!--配置session:
mode:设置将Session信息存储到哪里,三种存储方式,当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 mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="30" />