在 ASP.NET Core 应用程序中访问 HttpContext
从 ASP.NET Web Forms 迁移到 ASP.NET Core 需要架构设计的转变。 熟悉的HttpContext.Current
不再可用。
替代方法
以下是在 ASP.NET Core 中访问 HTTP 上下文的几种方法:
直接HttpContext
访问(控制器):在控制器内部,HttpContext
属性提供直接访问。 您可以将其作为参数传递给需要此信息的方法。
HttpContext
: 自定义中间件自动接收 HttpContext
作为其 Invoke
方法中的参数。
IHttpContextAccessor
服务: 对于由 ASP.NET Core 的依赖注入管理的类,请使用 IHttpContextAccessor
服务。将此接口注入到类的构造函数中以安全地访问 HTTP 上下文。 记得在IHttpContextAccessor
中注册ConfigureServices
。
重要考虑因素:
ASP.NET Core 提倡松散耦合。应尽量减少直接HttpContext
访问。针对需要上下文特定数据的服务探索替代解决方案,例如依赖注入。 这提高了代码的可维护性和可测试性。
以上是如何在 ASP.NET Core 中访问 HttpContext?的详细内容。更多信息请关注PHP中文网其他相关文章!