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;
}
}
}