从请求范围的类访问HttpContext

时间:2011-03-19 13:19:30

标签: .net asp.net asp.net-mvc asp.net-mvc-3 orchardcms

我有一个继承自 IDependency 的课程。从我的班级访问HttpContext的最佳方法是什么?一旦HttpContext可用,我想尽早访问它。

我尝试将 IWorkContextAccessor 的依赖注入添加到我的类中,并从构造函数中访问它,但 GetContext()返回 null 然后

1 个答案:

答案 0 :(得分:1)

在创建IoC容器对象后, IWorkContextAccessor 对象可以使用当前的HttpContext,因此您将无法访问构造函数中的那些对象。最好的方法是在你想要使用它时访问上下文对象 - 而不是更早 - 尤其是构造函数中的不是,因为构造函数很早就被Autofac调用了。

您还可以注入 IOrchardServices 对象(我们称之为“服务”),然后使用 services.WorkContext.HttpContext 对象。< / p>

您能否提供一些更详细的信息?你为什么要这么早访问它?这不能被重写,以便稍后使用上下文对象(例如,在某些方法调用中)?

HTH