Как передать объект HttpContext из контроллера в класс репозитория в MVC

#asp.net-mvc #httpcontext

#asp.net-mvc #httpcontext

Вопрос:

У меня есть класс репозитория с конструктором, который принимает HttpContext объект в качестве своего параметра. Как я могу передать HttpContext объект из контроллера в этот класс репозитория в моем проекте MVC?

Ответ №1:

Если вы хотите получить текущий HttpContext в действии контроллера, вы можете сделать это:

 public ActionResult Action(...) {
    var repository = new MyRepository(this.HttpContext) ;
    ...
}
  

Хотя я должен добавить, это звучит как проблемный дизайн. Я не могу придумать ни одной причины, по которой классу репозитория потребовался бы контекст напрямую. Если бы мне нужны были данные из моего контекста для перехода в мою модель, я бы создал объект value (он же объект передачи данных), сериализовал HttpContext по мере необходимости и передал это в репозиторий.