Context.Session 在 Class 外部控制器中
Context.Session in a Class outside Controller
在我目前使用的控制器中Context.Session.GetString(*KEY*);
我有一个 class 需要从存储在会话
中的一些值中读取
我以前用这个HttpContext.Current.Session[*KEY*]
。
我试过在 Whosebug 和 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*);
}
}
在我目前使用的控制器中Context.Session.GetString(*KEY*);
我有一个 class 需要从存储在会话
我以前用这个HttpContext.Current.Session[*KEY*]
。
我试过在 Whosebug 和 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*);
}
}