前言
在之前的.NET 里,我們可以很容易的使用Session讀取值。那今天我們來看看 如何在.NET Core中讀取Session值呢?
Session
使用Session之前,我們需要到Startup.cs中配置我們的服務如下:
①在ConfigureServices中加入:
services.AddSession();
②在Configure中注入Sessio服務,如下:
//注冊Session服務 app.UseSession();
③使用, 假設我們在HomeController.cs中,會有個個人中心Action,每次進來需要判斷是否帶Id,我們可以這樣:
public void GetSession(string Id) { if (HttpContext.Session.GetString("UserStuats") == null) { HttpContext.Session.SetString("UserStuats", "yes"); } if (HttpContext.Session.GetString("UserId") == null) { HttpContext.Session.SetString("UserId", Id); } }
抽象出一個通用方法判斷是否當前這個id是否有值,然后進這個Action的時候調用:
GetSession(當前用戶Id);
然后我們假設有個返回首頁的動作,此時,首頁中也是需要獲取是否用戶已經存在。這個時候,我們就可以去通過Session來判斷當前是否用戶已經進入:
ViewBag.UserId = HttpContext.Session.GetString("UserStuats") ?? "no";
這里很清楚,我們在首頁中判斷ViewBag.UserId是yes還是no就能很清楚的知道 當前是否已經有用戶進入。
移除Session我們可以用:
HttpContext.Session.Remove("UserStuats");