
今天在用webapi写接口的时候出现,session一直为null,搞了很久查了一些资料 原来是:Net中的webapi默认是不开启的,我们想要使用session必须配置session 别忘了解决跨域的问题,webapi中跨域也是要自己解决的。
下面就说一下怎么解决
如果是前后台分离的话必须进行配置跨域
1、在工具的NuGet包管理器中打开管理解决方案的NuGet程序包
2、在NuGet里下载Cors包 两个都下载
3、在Global.asax文件里重写lnit()
public override void Init() { this.PostAuthenticateRequest += (sender, e) => HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required); base.Init(); }
4、在WebApi Config 的 Register()方法里配置以下代码:
var cors = new EnableCorsAttribute("*", "*", "*"); cors.SupportsCredentials = true; config.EnableCors(cors);
OK 搞定 晚安 明天采坑再来
评价