你的位置:首页 > ASP.net教程

[ASP.net教程]webapi mvc session一直获取不到问题


前一段时间在给移动端写接口时遇到一个调用接口发送邮箱 session 一直获取不到的问题。我来给遇到问题的同志们说一说

自个在网上查了好多资料,问了一些朋友后。终于找到解决方案了。

 

大家都知道webapi默认是不开启session会话支持的。所以需要Global文件中要重写方法如下:

  public override void Init()
        {
            this.PostAuthenticateRequest += (sender, e) => HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required);
            base.Init();
        }

现在就可以在你创建的api控制器里面进行存储session了、

HttpContext.Current.Session["a"]="1111";

然而当你邮箱发送出去后。你打开邮箱页面进行验证的时候 发现获取的session是null,这里我要说明一下

进行验证的时候请大家通过js的异步进行处理。去到你设置session的控制器里面写一个接口方法。进行ajax调用。

在相对应的控制器里面获取session就可以了。

 

这是我暂时的解决方法。不知道还有没有大神有更好的方法。互相学习。

 

-----------------------------------------------------------------------