前一段时间在给移动端写接口时遇到一个调用接口发送邮箱 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就可以了。
这是我暂时的解决方法。不知道还有没有大神有更好的方法。互相学习。