Позвольте мне нарисовать уродливую картинку.
Основное приложение, которое я поддерживаю, написано на C #, webforms.Любая новая разработка, которую я выполняю, выполняется в MVC, EF и т. Д.
Таким образом, 90% сайта все еще находится в веб-формах, 10% MVC.
Сайт веб-форм использует определенные пользовательские элементы управления длявыберите элемент, для которого пользователь хочет получить информацию.Думайте об этом как о событии, они выбирают событие 1, затем на всех страницах отображается информация об этом событии.Эти настройки / выборы хранятся в файле cookie и / или в переменной сеанса.
Моя проблема в том, что я медленно преобразовываю сайт в MVC, и поэтому мне нужно иметь возможность обновлять выбранное событие из представления MVC,но этот выбор «известен» на сайте веб-форм.
Оба являются двумя различными кодовыми базами.
Код веб-формы, который обновляет событие:
Admin.AdminSession.GetCurrent().EventID = selectedEventID;
GetCurrent () возвращает это
get { return (AdminSession)HttpContext.Current.Session["AdminSession.Current"]; }
Но мое приложение MVC не может читать из сеанса.Я пробовал
HttpContext.Session["AdminSession.Current"];
и
this.ControllerContext.HttpContext.Session["AdminSession.Current"];
Но оба дают ноль
Итак, есть ли способ прочитать сеанс из вспомогательного приложения?Для контекста иерархия выглядит следующим образом:
rootsite.com (webforms) rootsite.com/subfolder (проект mvc)