前一段時間在給移動端寫介面時遇到一個調用介面發送郵箱 session 一直獲取不到的問題。我來給遇到問題的同志們說一說自個在網上查了好多資料,問了一些朋友後。終於找到解決方案了。大家都知道webapi預設是不開啟session會話支持的。所以需要Global文件中要重寫方法如下: public o....
前一段時間在給移動端寫介面時遇到一個調用介面發送郵箱 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就可以了。
這是我暫時的解決方法。不知道還有沒有大神有更好的方法。互相學習。
-----------------------------------------------------------------------