2

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

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

4

1 回答 1

1

在创建 IoC 容器对象后,当前 HttpContext 可通过IWorkContextAccessor对象获得,因此您将无法在构造函数中访问它们。最好的方法是在您想要使用上下文对象时访问它 - 而不是更早 - 特别是不在构造函数内部,因为 Autofac 很早就调用了构造函数。

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

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

高温高压

于 2011-03-19T23:01:53.493 回答