.NET Core Session的简单使用

C#

浏览数:99

2019-5-15

前言

在之前的.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");

 

作者:潇十一郎