Asp.Net Core中Session使用
web程序中,Session是一個(gè)無法避開的點(diǎn)。
最近新開項(xiàng)目,打算從開始搭建一個(gè)基礎(chǔ)的架子,后臺(tái)用戶登錄成功后,需要保存session。
新建的asp.net core的模板已經(jīng)包含了Session的庫(kù),
如果沒有的話,那就需要手動(dòng)去Nuget搜索一下,安裝就好了
使用的話,也很簡(jiǎn)單
services.AddSession();然后use
app.UseSession();這樣就可以在web程序中使用了
1.存入session
HttpContext.Session.SetString("userid", "");2.讀取session
HttpContext.Session.GetString("userid")我在使用的時(shí)候,遇到一個(gè)問題:登錄成功->寫入Session->重定向->session丟失->再次登錄->寫入Session->登錄成功??
第一次登陸成功,我重定向到主頁(yè),但是會(huì)失敗。session會(huì)丟失
于是我分析了一下瀏覽器請(qǐng)求,發(fā)現(xiàn)第一次登陸成功后,寫入session,然后重定向,瀏覽器收到302狀態(tài)的時(shí)候,根本沒有來得及存入session所依賴的cookie,然后就開始跳轉(zhuǎn),跳轉(zhuǎn)過去,session是讀取不到的。
我的處理方法是放一個(gè)空白的html頁(yè)面,加一段js代碼,用js去跳轉(zhuǎn):登陸成功->寫入session->返回html->通過html的jslocation.href重新跳轉(zhuǎn)到需要跳轉(zhuǎn)的頁(yè)面->獲取session成功
?
轉(zhuǎn)載于:https://www.cnblogs.com/boxrice/p/8669429.html
總結(jié)
以上是生活随笔為你收集整理的Asp.Net Core中Session使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4万平方米需多大电锅炉
- 下一篇: Groovy 设计模式 -- 保镖模式