VB.NET工作笔记007---ASP.NET中Session超时一直不起作用

版权声明:本文为博主原创文章,未经博主credreamer 允许不得转载 违者追究法律责任。 https://blog.csdn.net/lidew521/article/details/88048804

技术交流QQ群【JAVA,.NET,BigData,AI】:170933152 

最后发现是这个原因,在IIS中找到应用程序池,然后右边点击,详细设置,然后找到,进程模块中的

最大工作进程数,设置为1

如果不是1,由于web.config中的<sessionState mode="InProc",是把session存在进程中了,如果iis工作进程是多个,就会出现

session超时不起作用的问题

-------------------------

asp.net应用时,修改web.config中的SessionState节点。

stateserver模式:

<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false"timeout="120"/> 

<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="120"/>

InProc模式:

<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false"timeout="120"/> 

<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="120"/> InProc模式 优点:获取session状态的速度快,session状态直接存储在iis的进程中。 缺点:易丢失,经常需要重新登录 
StateServer模式 优点:session状态单独存储在一个进程中,不会因为iis或者应用的重启而丢失状态 缺点:获取session状态的速度比InProc慢一些,毕竟是两个不同的进程。 
在开发的时候,对应用有一点修改,就会导致应用的重启,这时候如果使用InProc模式 ,那么每次都需要重新登录,比较浪费时间.建议使用StateServer模式。并在iis里面设置超时时间长一些。
注:使用StateServer模式的时候 1、要开启“ASP.NET State Service”服务(设为“自动”) 状态服务

猜你喜欢

转载自blog.csdn.net/lidew521/article/details/88048804
今日推荐