我需要在静态方法或实用程序服务中访问当前的 HttpContext
。
对于经典的 ASP.NET MVC 和 System.Web
,我只需要使用 HttpContext.Current
来静态访问上下文。但我如何在 ASP.NET Core 中执行此操作?
最佳答案
HttpContext.Current
在 ASP.NET Core 中不再存在,但有一个新的 IHttpContextAccessor
您可以注入(inject)依赖项并用于检索当前的 HttpContext
:
public class MyComponent : IMyComponent
{
private readonly IHttpContextAccessor _contextAccessor;
public MyComponent(IHttpContextAccessor contextAccessor)
{
_contextAccessor = contextAccessor;
}
public string GetDataFromSession()
{
return _contextAccessor.HttpContext.Session.GetString(*KEY*);
}
}
关于c# - 在 ASP.NET Core 中访问当前的 HttpContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31243068/