我有一个继承自 IDependency 的课程。从我的班级访问HttpContext的最佳方法是什么?一旦HttpContext可用,我想尽早访问它。
我尝试将 IWorkContextAccessor 的依赖注入添加到我的类中,并从构造函数中访问它,但 GetContext()返回 null 然后
答案 0 :(得分:1)
在创建IoC容器对象后, IWorkContextAccessor 对象可以使用当前的HttpContext,因此您将无法访问构造函数中的那些对象。最好的方法是在你想要使用它时访问上下文对象 - 而不是更早 - 尤其是构造函数中的不是,因为构造函数很早就被Autofac调用了。
您还可以注入 IOrchardServices 对象(我们称之为“服务”),然后使用 services.WorkContext.HttpContext 对象。< / p>
您能否提供一些更详细的信息?你为什么要这么早访问它?这不能被重写,以便稍后使用上下文对象(例如,在某些方法调用中)?
HTH