如果你有工作上的需求需要在WebAPI當中加入Session的功能
那麼這一篇也許對你會有幫助。
最近筆者為了案子而開始撰寫.NET WebApi
其中有些資訊需要儲存在Session當中。
於是撰寫了以下的Code想要將資訊寫入Session當中:
var session = System.Web.HttpContext.Current.Session; //宣告Session
session.Add("Auth",LoginInfo.Auth); //將認證資訊放入Session
var temp = session["Auth"];
結果意外發現這段Code居然不能執行。
原因在於session是一個null,也就是說一開始就找不到Session這個物件了
自然也就無法使用。
爬了一些文後發現,WebApi由於是無狀態的,因此無法使用這樣的方式直接儲存
所以需要在檔案:~/Global.asax
,內新增以下程式碼即可支援:
protected void Application_PostAuthorizeRequest()
{
System.Web.HttpContext.Current.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required);
}
以上文章敘述如有錯誤及觀念不正確,請不吝嗇指教:)
有任何家教、案子 或技術相關問題 請都歡迎聯繫我