Как сохранить сеанс при создании нового экземпляра контроллера в другом контроллере в MVC? - PullRequest
0 голосов
/ 22 января 2020

Привет. У меня переменная сеанса в одном методе контроллера Controller1 (Controller1Method1), как показано ниже: -

Session["DefaultLoad"] = true;

У меня другой контроллер Controller2, в котором я пытаюсь создать экземпляр Controller1, и я Я преуспел в этом, как показано ниже: -

public class Controller2 : Controller
{
   public static T CreateInstance<T>(string ClassType) where T : class
   {            
     Type type = Type.GetType(ClassType);
     return Activator.CreateInstance(type) as T;
   }

   public void Controller2Method1()
   { ....
     ....
     var controller = CreateInstance<Controller1>("Namespace" + "Controller1");
     controller.Controller1Method1();
   }

Как только вызов переходит к Controller1Method1 () после создания экземпляра, моя переменная сеанса становится нулевой, как сохранить значение этого сеанса. Я пробовал что-то подобное, но это не работает.

Session["persistDefaultLoad"] = System.Web.HttpContext.Current.Session["DefaultLoad"];
var controller = CreateInstance<Controller1>("Namespace" + "Controller1");
Session["DefaultLoad"] = Session["persistDefaultLoad"];
controller.Controller1Method1();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...