在.NET 4.6项目中使用HttpContextAccessor

Tom*_*Tom 6 c# .net-core asp.net-core

我创建了一个.NET Core项目(一个类库),它也面向.NET 4.6,它需要能够访问当前的HTTP上下文.我看到我们不能再使用静态了HttpContext.Current,必须注入一个实例IHttpContextAccessor.这是否仍然可以用于针对.NET 4.6的Web API项目?到目前为止,HttpContextAccessor.HttpContext除了null之外,我无法返回任何内容.

And*_*dos 2

对于类库,我认为您可能希望通过构造函数或方法传递相关变量/对象。这是一个很好的做法,因为例如,如果您在没有 httpcontext 的控制台应用程序中引用类库,则您的类库不会中断。

如果您在控制器方法内,则可以仅使用请求或响应。