我需要使用HttpContext静态方法或实用程序服务来访问当前数据。
HttpContext
使用经典的ASP.NET MVC和System.Web,我将只用于HttpContext.Current静态访问上下文。但是如何在ASP.NET Core中做到这一点?
System.Web
HttpContext.Current
HttpContext.Current在ASP.NET Core中已经不存在了,但是有一个新的 IHttpContextAccessor东西可以注入到您的依赖中并用来检索当前的HttpContext:
IHttpContextAccessor
public class MyComponent : IMyComponent { private readonly IHttpContextAccessor _contextAccessor; public MyComponent(IHttpContextAccessor contextAccessor) { _contextAccessor = contextAccessor; } public string GetDataFromSession() { return _contextAccessor.HttpContext.Session.GetString(*KEY*); } }