Asp.Net Core中Session使用

web程序中,Session是一個沒法避開的點。html

最近新開項目,打算從開始搭建一個基礎的架子,後臺用戶登陸成功後,須要保存session。web

新建的asp.net core的模板已經包含了Session的庫,瀏覽器

若是沒有的話,那就須要手動去Nuget搜索一下,安裝就行了cookie

使用的話,也很簡單session

services.AddSession();

而後useapp

 app.UseSession();

這樣就能夠在web程序中使用了asp.net

1.存入sessionspa

 HttpContext.Session.SetString("userid", "");

2.讀取session.net

HttpContext.Session.GetString("userid")

我在使用的時候,遇到一個問題:登陸成功->寫入Session->重定向->session丟失->再次登陸->寫入Session->登陸成功  code

第一次登錄成功,我重定向到主頁,可是會失敗。session會丟失

因而我分析了一下瀏覽器請求,發現第一次登錄成功後,寫入session,而後重定向,瀏覽器收到302狀態的時候,根本沒有來得及存入session所依賴的cookie,而後就開始跳轉,跳轉過去,session是讀取不到的。

個人處理方法是放一個空白的html頁面,加一段js代碼,用js去跳轉:登錄成功->寫入session->返回html->經過html的jslocation.href從新跳轉到須要跳轉的頁面->獲取session成功

 


打賞

相關文章
相關標籤/搜索