asp.net核心-控制器外部类中的Context.Session



在控制器中,我当前正在使用Context.Session.GetString(*KEY*);
我有一个类,需要从会话中存储的几个值中读取

我以前用过这个HttpContext.Current.Session[*KEY*]

我尝试过在Stackoverflow和MSDN中搜索,但没有成功。

HttpContext.Current在ASP.NET 5中已不存在,但有一个新的IHttpContextAccessor,您可以在依赖项中注入它,并使用它来检索当前的HttpContext:https://github.com/aspnet/Hosting/blob/dev/src/Microsoft.AspNet.Hosting.Abstractions/IHttpContextAccessor.cs

public class MyComponent : IMyComponent {
    private readonly IHttpContextAccessor contextAccessor;
    public MyComponent(IHttpContextAccessor contextAccessor) {
        this.contextAccessor = contextAccessor;
    }
    public string GetDataFromSession() {
        return contextAccessor.HttpContext.Session.GetString(*KEY*);
    }
}

相关内容

最新更新