一、在WebApi項目中默認沒有開啟Session回話支持。需要在Global中的Init()方法中指定會員需要支持的類型
public class WebApiApplication : System.Web.HttpApplication { /// <summary> /// 網站啟動 /// </summary> protected void Application_Start() { /* * 注意,必須先啟用跨域,然后,啟用注冊路由 */ GlobalConfiguration.Configuration.EnableCors(); GlobalConfiguration.Configure(WebApiConfig.Register); } public override void Init() { this.PostAuthenticateRequest += (sender, e) => { HttpContext.Current.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required); }; base.Init(); }
在默認情況下
是沒有開啟的。SessionStateBehavior有四個值:
Default使用默認ASP.NET邏輯來確定請求的會話狀態行為。默認邏輯是尋找IHttpHandler中是否存在標記會話狀態接口。
Disabled未啟用會話狀態來處理請求。 此設置將覆蓋已通過檢查請求的處理程序確定的任何會話行為。
ReadOnly為請求啟用只讀會話狀態。這意味着會話狀態無法更新。此設置將覆蓋已通過檢查請求的處理程序確定的任何會話狀態行為。
Required為請求啟用完全的讀寫會話狀態行為。 此設置將覆蓋已通過檢查請求的處理程序確定的任何會話行為。
更多:
