Доступ к HttpContext из класса области запроса - PullRequest
2 голосов
/ 19 марта 2011

У меня есть класс, унаследованный от IDependency . Каков наилучший способ получить доступ к HttpContext из моего класса? Я хочу получить к нему доступ как можно раньше, как только HttpContext станет доступным.

Я попытался добавить внедрение зависимости для IWorkContextAccessor в мой класс и получить к нему доступ из конструктора, но GetContext () возвращает null затем.

1 Ответ

1 голос
/ 20 марта 2011

Текущий HttpContext доступен через IWorkContextAccessor объект после объекты контейнера IoC создаются, поэтому вы не сможете получить доступ к ним в конструкторе. Лучший способ - получить доступ к объекту контекста, когда вы хотите его использовать - не раньше - особенно , а не внутри конструктора, так как Autofac очень рано вызывает конструкторы.

Вы также можете внедрить IOrchardServices объект (назовем это "services") и затем использовать services.WorkContext.HttpContext объект.

Не могли бы вы предоставить более подробную информацию о том, чего вы хотите достичь? Почему вы хотите получить доступ к этому так рано? Разве это не может быть переписано, чтобы объект контекста был использован позже (например, при вызове какого-либо метода)?

НТН

...