Windows 2016 update之后,页面跳转,Session失效

smallfools 2020-02-22 02:44:50
在某些浏览器下,如猎豹浏览器、QQ浏览器、3245浏览器的兼容模式下
两个页面,在a.aspx页面里设置了Session,跳转到b.aspx页面中,Session失效,这是怎么回事?

a.aspx文件中,有个链接:<a href="b.aspx">B页面</a>
a.aspx.cs文件中,使用以下语句设置Session:
Session["aaa"] = "abc"

b.aspx.cs文件中,读取Session["aaa"] ,值为null。

--------------------------------------------------------
追踪Session.SessionID,发现在a.aspx和b.aspx中的值不同。

--------------------------------------------------------
发现问题过程:
1、代码应该是没有问题,因为这两个页面部署在服务器上,有一年多了,一直没出现问题。
2、服务器操作系统为Windows Server 2016,去年12月,update之后,有客户反应,从a.aspx页面跳转到b.aspx之后,session丢失。
3、经测试,使用IE、Edge、Chrome等浏览器访问都正常,只有猎豹浏览器兼容模式、QQ浏览器兼容模式下,Session丢失,极速模式访问正常。
4、在本机开发环境中测试,包括猎豹浏览器兼容模式、QQ浏览器兼容模式,访问完全正常。初步怀疑是服务器update之后,IIS受影响。
5、为了找出IIS究竟受哪个更新文件影响,使用虚拟机安装了一个纯净的Windows Server 2016。
6、安装完操作系统后,直接把网站部署在虚拟机里,测试发现,包括猎豹浏览器兼容模式、QQ浏览器兼容模式,访问完全正常。
7、update虚拟机中的Windows Server 2016,再测试发现,猎豹浏览器兼容模式、QQ浏览器兼容模式下,Session丢失。
8、虚拟机中update了三个更新:KB4537764、KB4520724、KB3199986。
9、卸载KB4537764,测试发现,包括猎豹浏览器兼容模式、QQ浏览器兼容模式,访问完全正常。
10、在服务器上卸载KB4537764,再测试,猎豹浏览器兼容模式、QQ浏览器兼容模式下,Session还是丢失。
11、在服务器上将所有去年12月以后安装的更新全部卸载(除了KB4520724无法卸载外),再测试,猎豹浏览器兼容模式、QQ浏览器兼容模式下,Session还是丢失。

请问,问题究竟出在哪里了?
...全文
14022 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
smallfools 2020-09-26
  • 打赏
  • 举报
回复
应该不会,因为我不会做伪静态
Rimifon 2020-08-18
  • 打赏
  • 举报
回复
问题会不会是因为做了伪静态?
smallfools 2020-06-26
  • 打赏
  • 举报
回复
引用 4 楼 icoolno1 的回复:
sessid默认是放在cookie中,打开浏览器的调试器看看,sessionid是如何变化的。
Session丢失了,查不到SessionId。 最后的解决办法是: 因为asp.net的Session存放的Cookie名是“ASP.NET_SessionId”,手动写入一个名为“ASP.NET_SessionId”的Cookie,完美解决。
八爻老骥 2020-06-25
  • 打赏
  • 举报
回复
sessid默认是放在cookie中,打开浏览器的调试器看看,sessionid是如何变化的。
smallfools 2020-06-24
  • 打赏
  • 举报
回复
引用 2 楼 自由与责任 的回复:
你上述的操作,确认没有调整过别的服务或配置吗?
确认,而且在虚拟机中可以还原操作,一定是update之后的问题。 不过后来修改程序来避免Session丢失的现象了
  • 打赏
  • 举报
回复
你上述的操作,确认没有调整过别的服务或配置吗?
  • 打赏
  • 举报
回复
肯定还是补丁更新的问题吧,只是打上后再卸载可能存在不干净的问题

8,327

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 IIS
社区管理员
  • IIS
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧