我有一个旧的 ASP.NET 应用程序。它从 NET 2 转换为 net 4。它使用状态服务器会话。
在某些时候,应用程序会打开一个新页面(在新的浏览器选项卡中:link target = "_blank")
但返回调用页面(选项卡)后,我发现会话已重置,因此不再使用当前用户,应用程序重定向到登录页面。实际上,SessionID 保持不变,但 IsSessionNew 设置为 true,并且 session 中没有设置任何变量。
该应用程序不使用 Session.Abort 或 Session.Clear。
即使我将会话更改为 InProc,并将链接的目标更改为 _top 或 _self,或者完全删除,也会发生同样的事情 - 会话被重置。
这是 web.config 中的会话设置(或者我使用了 StateServer,但结果相同)
<sessionState timeout="432000" cookieless="UseCookies" mode="InProc"/>
知道什么会导致这种情况吗?
谢谢你。