WebApi和Mvc的Session一直獲取不到問題
前一段時間在給移動端寫介面時遇到一個呼叫介面傳送郵箱
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
就可以了。
注意
MVC
在控制器裡又封裝個Session
,而不是System.Web.HttpContext.Current的session
,同一控制器之間可以共享,不同控制器之間不共享的,想要所有的地方都可以獲取session的值,需要使用System.Web.HttpContext.Current的session
。
相關文章
- 關於filter獲取session的問題!!!FilterSession
- WebApi和MVC的區別WebAPIMVC
- 關於動態建立的DOM元素獲取不到的問題。
- 當laravel獲取不到session的三種解決辦法LaravelSession
- iOS10 IDFA 獲取不到問題解決iOS
- 通過nginx中轉獲取不到IP的問題解決Nginx
- 解決PHP Post獲取不到非表單資料的問題PHP
- SSL認證 request.getScheme() 獲取不到https的問題SchemeHTTP
- 獲取本session的sid和serial#Session
- Hibernate中的Session快取問題Session快取
- js的getFullYear()和getYear()獲取年份問題JS
- Struts Tiles 和 session的問題Session
- 為何我用spring mvc獲取不到表單提交資料?SpringMVC
- request 獲取不到 CookieCookie
- java編譯和獲取resource目錄的問題Java編譯
- 【Struts2】Session的獲取Session
- 使用EasyUI,關於日期格式的文字框按照正常方式獲取不到值的問題UI
- 前後端頁面分離導致session無法正常獲取的問題後端Session
- 使用WireShark分析使用RedisTemplate取不到值的問題Redis
- 使用gin,gin-contrib/sessions不同request path獲取不到sessionSession
- hudson獲取不到最新的程式碼
- SSH獲取SESSION時報NullPointExceptionSessionNullException
- session跟蹤失效的問題和原因Session
- 排查 Kubernetes HPA 透過 Prometheus 獲取不到 http_requests 指標的問題PrometheusHTTP指標
- mybatis一級快取(session cache)引發的問題MyBatis快取Session
- session的存取問題Session
- 怎麼能接聽來電?獲取不到不到元素
- 從session中獲取資料Session
- 問題:V$SESSION SQL_ID 為空,找不到SQL_IDSessionSQL
- 關於 GO 中 flag.StringVar 或者 flag.String 都獲取不到值的問題Go
- 解決 Laravel JWT 多表認證時獲取不到當前認證使用者的問題LaravelJWT
- 記錄MVC專案部署時的CDN快取問題MVC快取
- SpringMVC中servletFileUpload.parseRequest(request)解析為空獲取不到資料問題SpringMVCServlet
- 關於海量資料的獲取問題
- 獲取Word文件的作者和主題
- created mounted 動態獲取資料渲染後,獲取DOM問題
- 關於session的問題Session
- Hibernate的session問題Session