我将它设置为120分钟,但它不会持续那么久。我不确定它到底有多长时间,但我知道它不是2小时。
<sessionState timeout="120" />
这只在默认的Web.config中设置,而不是在Views目录中的那个,也不是Web.Debug.config或Web.Release.config中。
默认会话超时是否为20分钟会产生影响吗?
答案 0 :(得分:1)
为了保证您的会话不会因w3wp.exe崩溃或应用程序池回收而被杀死,您应该将会话状态移动到单独的存储中。最简单的是ASP.Net State Server服务。确保在主机上启动该服务并将其添加到您的web.config中:
<sessionState mode="StateServer"
stateConnectionString="tcpip=SampleStateServer:42424"
cookieless="false"
timeout="120"/>
答案 1 :(得分:0)
我认为你应该定义会话状态模式
ASP.NET中存在不同的会话状态 http://msdn.microsoft.com/en-us/library/ms178586(v=VS.80).aspx
进程内模式
默认值为<sessionState mode="InProc" timeout="10" />
,重建项目后会话将清除
状态服务器模式 我们可以使用它,但记得转动服务 - ASP.NET状态服务
<sessionState mode="StateServer"
stateConnectionString="tcpip=localhost:42424"
sqlConnectionString="data source=.\SQLEXPRESS; User ID=sa;Password=12345678; Integrated Security=SSPI"
cookieless="false"
timeout="2"
/>
SQL Server模式我们可以在创建DB ASPSate by命令之后使用它,请查看此站点了解详细信息 - http://www.brianstevenson.com/blog/aspstate-concurrently-running-for-net-1011-and-net-20
<sessionState mode="SQLServer"
stateConnectionString="tcpip=localhost:63586"
sqlConnectionString="data source=.\SQLEXPRESS; User ID=sa;Password=12345678; Integrated Security=SSPI"
cookieless="false"
timeout="2"
/>
状态服务器模式下的会话&amp;重建项目后不会清除SQL Server模式,它有利于开发