Почему мы используем объект состояния Session() в ASP.NET для хранения и извлечения данных на протяжении всего сеанса любого пользователя? Почему бы не использовать глобальные переменные вместо session() .... И аналогичным образом состояние View() для хранения и доступа к данным в любой части страницы ... Почему эта функциональность существует, в то время как мы можем просто хранить данные в переменной и обращаться к ней где угодно нужно? Пожалуйста, уточнитеПочему мы используем состояние Session() вместо глобальных переменных в ASP.NET? в чем смысл?
ответ
Один из ответов, с которыми я столкнулся, заключается в том, что во время появления страницы PostBack может возникнуть вероятность того, что переменные могут стать пустыми, и поэтому данные в переменных будут потеряны. Следовательно, почему мы используем состояния для доступа к данным.
Вы можете использовать значение сеанса в любом месте приложения, а глобальные переменные могут использоваться на одной странице. Всякий раз, когда страница будет обновляться, значение глобальных переменных становится пустым, но значение сеанса будет оставаться таким, каким оно есть.
3 концепции Session, View State и Global objects выполняют ту же работу по сохранению и доступу к значениям.
Основное различие заключается в определении объема этого значения, присвоенного переменной. Ниже определение объяснит вам то же самое.
1> Глобальная переменная: область действия глобальной переменной (объявленной либо через одноэлементный шаблон, либо состояние приложения) имеет область применения. то есть; значение, назначенное этой переменной, будет доступно во всех сеансах и будет одинаковым в момент времени всех сеансов и на всех страницах. Эти значения хранятся в среде выполнения Common Framework .NET Framework и одинаковы для всех приложений. Например: строка подключения, имя базы данных и т. Д.
2> Сессии Состояние: Значение, назначенное объекту состояния сеанса, будет иметь область действия только для этого сеанса (до тех пор, пока вы не выполните сеанс.abondon). Например: при входе на сайт сайт может хранить ваш идентификатор входа в переменной сеанса. Эта переменная сеанса будет доступна на всех страницах, пока вы не выйдете из системы.
3> Посмотреть состояние: область действия вида - это страница и последующие обратные копии. Как только вы перейдете на другую страницу, значения исчезнут. Это в основном используется для хранения вычисленных значений, которые могут использоваться после сообщения назад. Кроме того, ASP.net внутренне использует viewstate для заполнения контрольных значений после обратной передачи. Состояние представления - это управление состоянием уровня страницы.
Поскольку HTTP не имеет гражданства. Каждый новый запрос - это просто _ _ новый запрос_. Переменные сеанса, переменные приложения, кэш - это способы предоставления своего рода «состояния» по своей природе, безстоящей архитектуре. – bgs264
Своим временем вы узнали о безгражданности природы asp.net :). [Здесь] (https://msdn.microsoft.com/en-us/library/75x4ha6s (v = vs.140) .aspx) –