一.session取值赋值
在Controller里:
public class ValuesController : ApiController { public IEnumerable Get() { var context = HttpContext.Current; context.Session[“a”] = “aaa”; return new string[] { “value1”, “value2” }; } public string Get(int id) { var ses = HttpContext.Current.Session[“a”]; return ses.ToString(); } }
二.执行报错时,在WEBAIPI中的Global.asax中重写Init方法,开启session功能
public override void Init() {
//开启WebApi下的Session this.PostAuthenticateRequest += (sender, e) => HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required);
base.Init();
}
三.注意在webapi中
支持全域名访问,部署后需要固定限制为客户端网址,改为 * 将不支持 Session
<add name="Access-Control-Allow-Origin" value="http://localhost:12426"/>
四.如果用vue中vue-resourse进行网络请求,调用session会存在跨域session丢失问题的话再界面上写 Vue.http.options.credentials = true;来防止session丢失