Я довольно понятен с защитой переменных сеанса. Но у меня есть практическая проблема с сеансом. У меня есть представление, где я использую viewData, и этому представлению присваивается значение из переменной сеанса. У меня есть эта переменная сессии, помещенная в контроллер. В представлении у меняРабота с переменными сеанса
ViewData["MyView"]
В контроллере
if(Session["MySession")!=null)
{
ViewData["MyView"]=Session["MySession");
}
выше контроллер является общим контроллером для каждой страницы. Я имею в виду, что с любой другой страницы управление перенаправляется на контроллер выше. Так, вслед за этим, у меня есть три других контроллеров
Controller1 Controller2 Controller3
Если я нажимаю на RunReport со страницы One, управление переходит к Controller1 и устанавливает переменную
like Session["MySession"]=1;
сессии после установки этот сеанс, контроллер переходит к обычному контроллеру для установки ViewData [MyView], и добавление значения к этому представлению имеет различную логику каждый раз.
Similary, когда я нажимаю на Runreport со второй страницы, управление переходит к Controller2 и устанавливает переменную
like Session["MySession"]=1;
сеанса после установки этого сеанса, контроллер переходит к общему контроллеру для установки ViewData [MyView] и добавленной стоимость для этого viewdata имеет разные логики каждый раз. Под этим я хочу сказать, что ViewData будет иметь разные значения каждый раз.
Similary, когда я нажимаю кнопку «Страница 3», управление ведет себя так же, как и все.
Все работает сейчас. Но моя проблема в том, что я использую Same session Variable в каждом отдельном контроллере. Предположим, что User1 открыл page1, и он нажимает на страницу runreport, так как эта переменная сеанса будет иметь значение, и после этого элемент управления перейдет к контроллеру Common и установит значение в виде данных. В то же время, если другой использует открывает page2, и он нажимает на runreport, то при щелчке снова этот процесс будет выполняться или предыдущий сеанс уже будет иметь значение даже если я нажму на runreport или нет. На самом деле я совершенно смущен. Пожалуйста помогите. дайте несколько технически точек понимания понимания на практическом уровне и, пожалуйста, очистите мою точку зрения. Большое спасибо.
Хорошо, Это означает, что для каждого нового пользователя будет новая переменная сессия создана. Предположим, что я первый пользователь, и этот пользователь открывает страницу1, а затем на странице runreport, которая будет перенаправляться на контроллер1, там создается сеанс, и управление переходит к commonController и устанавливает ViewData. Теперь сеанс все еще находится в памяти.Затем я открыл page2 и нажал кнопку runreprt и аналогичным образом, чтобы был создан новый сеанс veriable или первая переменная сессии будет переопределена? Или предположим, что если я просто открою страницу2 и не нажимаю кнопку runreport, тогда сессия все равно останется в памяти – Sandy
продолжение с последнего комментария --- Память? Фактически, что будет влиять на эту переменную сеанса. Пожалуйста, помогите мне как можно скорее. Я буду благодарен вам – Sandy
Я не вижу вашу актуальную проблему. У вас есть общая постоянная зона для всех ваших страниц с сеансом, каждый раз, когда вы получаете доступ с помощью имени ключа, вы изменяете значение этой переменной единицы измерения, а также для пользователя и в течение периода времени после того, как сеанс очищается. –