net core 6.0 session支持,非controller引用session

program.cs增加contrller支持

复制代码

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSession();//添加session支持
builder.Services.AddHttpContextAccessor();//增加上下文支持
var app = builder.Build();
app.UseSession();//使用session
app.Run();

复制代码

 

Controller中使用

复制代码

public ApiResult IsLogin()
{
  var adminSession=HttpContext.Session.GetString("adminName");
}

复制代码

 

非Controller中使用,nuget Microsoft.AspNetCore.Http.Extensions

复制代码

using Microsoft.AspNetCore.Http;

public class LoginService:ILoginService
{
  private readonly IHttpContextAccessor _httpContextAccessor;
  private ISession _session => _httpContextAccessor.HttpContext.Session;
  public LoginService(IHttpContextAccessor httpContextAccessor)
  {
    _httpContextAccessor = httpContextAccessor;
  }
  public bool IsLogin()
  {
    var adminSession= _session.GetString("admin");
    if(adminSession == null)
    {
      return false;
    }
    else
    {
      return true;
    }
  }
}

 

复制代码

 

posted on 2022-09-26 10:58  kobe  阅读(89)  评论(0编辑  收藏  举报

导航