首页 新闻 搜索 专区 学院

MVC 登陆跳转时候设置的Session信息为什么总是第一次取不到,第二次才能取到

0
[已解决问题] 解决于 2018-02-02 10:48

MVC 登陆跳转时候设置的Session信息为什么总是第一次取不到,第二次才能取到;

而且我在设置的打log,明明有值,在default页面的身份验证时候就为null了,到第二次就有值了。。。有大神帮忙解决下吗

晚日照城郭的主页 晚日照城郭 | 菜鸟二级 | 园豆:201
提问于:2017-11-08 14:40
< >
分享
最佳答案
0

1、检查服务中的"ASP.NET 状态服务"是否设置为自动启用
2、将Web.Config文件中关于Session的设定如下:<sessionState mode=´StateServer´
stateConnectionString=´tcpip=127.0.0.1´ sqlConnectionString=´data
source=127.0.0.1;Trusted_Connection=yes´ cookieless=´true´
timeout=´60´/>

奖励园豆:5
金琥 | 老鸟四级 |园豆:2570 | 2017-11-08 15:07

y原因找到了,在设置过Session后,执行了Response.Redirect();

当asp.net 执行 Response.Redirect 时会强制终止当前Response ,不发送当前页面的cookie 给浏览器,而是发送一个指令告诉浏览器重新发送一个新的HTTP请求到新的URL,结果导致当前的Session 丢失。

 

解决办法就是使用Response.Redirect(“~/default.aspx”, false)

晚日照城郭 | 园豆:201 (菜鸟二级) | 2017-11-08 17:03

@晚日照城郭: 问题解决就好

金琥 | 园豆:2570 (老鸟四级) | 2017-11-09 09:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册