Я пытаюсь получить доступ к методу моего MVC HomeController с другого контроллера, чтобы перенаправить пользователя на домашнюю страницу, если он не аутентифицирован. Проблема в том, что сеанс в моем HomeController не установлен, если я создаю его самостоятельно, но мне нужно получить доступ к переменной, хранящейся в сеансе, из моего HomeController. Я попытался решить проблему таким образом:Установить сеанс в ASP.Net MVC Controller из другого класса
HomeController currentHomeController = new HomeController();
currentHomeController.Session = this.Session;
return currentHomeController.Index();
Но переменная Session не имеет сеттера, поэтому это не работает. Есть ли другой способ сделать это?
мое решение
Это работает:
return RedirectToAction("Index", "Home");
Спасибо за ваши ответы!
** Вы не можете создать свой собственный экземпляр контроллера таким образом **, вот что вызывает все ваши проблемы. Структура ASP.NET создает экземпляры контроллеров. Если вы хотите повторно использовать методы действий, обычным способом является перенаправление клиента на нужный способ действия, например: http://stackoverflow.com/a/27057561/7724 – bzlm