c#mvc似乎有个坑,关于第一次请求服务器记录session失效

,如果你进行登录,

,登录成功,它记录了session,

但如果web程序,是刚编译完启动(或重启可能也一样,)

它会因为是第一次记录session,而无效,(第一次以后,好像都挺正常的)

比如,你登录时,

在控制器,里,HttpContext.Session进行了赋值,得赋值完,获取值,都是正常的,

然后,你跳到另一个页面,那个页面需要检查session,却惊奇的发现,session没了

 

,于是你再登录一遍,

也是控制器里,对HttpContext.Session进行了赋值,

跳到另外一个页面,检查session,却有了,

 

然后,再操作,把session删掉,再登录,还是有session了,,,,第一次以后,session就按原有思路来存在与消失了,

 

微软,你要这样,我还能说什么呢,

 

没办法,最后找找找,Global里,试了,

Application_Start()

Application_BeginRequest()

不行,人空还没初始化session,有时连HttpContext.Current也是null

最后在

protected void Session_Start(Object sender, EventArgs e)

外加一个第一次执行标志,  bool isfirst = false;

 

代码如:


bool isfirst = false;
protected void Session_Start(Object sender, EventArgs e) {
if (isfirst) return;
HttpContext.Current.Session["s"] = 0;
isfirst = true;
HttpContext.Current.Session.Remove("s");
}

 

----------整个世界,终于安静了,

转载于:https://www.cnblogs.com/ijunxiong/articles/7434725.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值