在控制器中,我当前正在使用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*);
}
}