App偶尔丢失session

App偶尔丢失session,第1张

App偶尔丢失session的话,当刷新间隔超过session.gc_maxlifetime指定的时间间隔(秒)时,session失效就是正常的事情。

我们经常会做到的一个功能,将登录用户信息保存到session中,在页面上显示登录用户名。但是,如果很短时间内甚至几秒没有刷新这个页面的话,这个用户名就消失了,其实就是session中保存的用户数据丢失了。找到问题所在,那怎么解决呢?答案就是可以将Session存储在进程外。

StateServer模式:

这种模式下Session会被保存在Asp.Net进程之外的aspnet_state.exe进程中,这个进程不受asp.net进程回收的影响。但要注意:aspnet_state是以windows服务形式运行的,所以请先确保127.0.0.1对应的机器上该服务已经启动(ASP.NETStateService服务)。另外如果tcpip=127.0.0.1:42424中的IP地址指定为另外一台服务器,意味着可以将session保存在web服务器以外的机器上

热心网友

一:原因:

打开一个新的窗口要分两种情况:1.两个ie是不同进程:这时新ie并没有已打开窗口的资源(也就是sessionid)当然是不同的session

2.新开窗口与上个窗口是同一个进程,即不同线程,这样新窗口可以共享已有资源(sessionid)这样的两个窗口是同一session

你的情况是因为两个ie是不同进程了,和新开ie是一个道理,服务器一定会给你一个新的session

二、要解决你的问题只能保存SESSIONID,有三种方法:

1、COOKIE保存ID 2、URL保存ID 3、隐藏域保存ID


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/298575.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-25
下一篇2023-04-25

发表评论

登录后才能评论

评论列表(0条)

    保存