2015-07-02 6 views
0

Почему мы используем объект состояния Session() в ASP.NET для хранения и извлечения данных на протяжении всего сеанса любого пользователя? Почему бы не использовать глобальные переменные вместо session() .... И аналогичным образом состояние View() для хранения и доступа к данным в любой части страницы ... Почему эта функциональность существует, в то время как мы можем просто хранить данные в переменной и обращаться к ней где угодно нужно? Пожалуйста, уточнитеПочему мы используем состояние Session() вместо глобальных переменных в ASP.NET? в чем смысл?

+1

Поскольку HTTP не имеет гражданства. Каждый новый запрос - это просто _ _ ​​новый запрос_. Переменные сеанса, переменные приложения, кэш - это способы предоставления своего рода «состояния» по своей природе, безстоящей архитектуре. – bgs264

+1

Своим временем вы узнали о безгражданности природы asp.net :). [Здесь] (https://msdn.microsoft.com/en-us/library/75x4ha6s (v = vs.140) .aspx) –

ответ

0

Один из ответов, с которыми я столкнулся, заключается в том, что во время появления страницы PostBack может возникнуть вероятность того, что переменные могут стать пустыми, и поэтому данные в переменных будут потеряны. Следовательно, почему мы используем состояния для доступа к данным.

0

Вы можете использовать значение сеанса в любом месте приложения, а глобальные переменные могут использоваться на одной странице. Всякий раз, когда страница будет обновляться, значение глобальных переменных становится пустым, но значение сеанса будет оставаться таким, каким оно есть.

-1

3 концепции Session, View State и Global objects выполняют ту же работу по сохранению и доступу к значениям.

Основное различие заключается в определении объема этого значения, присвоенного переменной. Ниже определение объяснит вам то же самое.

1> Глобальная переменная: область действия глобальной переменной (объявленной либо через одноэлементный шаблон, либо состояние приложения) имеет область применения. то есть; значение, назначенное этой переменной, будет доступно во всех сеансах и будет одинаковым в момент времени всех сеансов и на всех страницах. Эти значения хранятся в среде выполнения Common Framework .NET Framework и одинаковы для всех приложений. Например: строка подключения, имя базы данных и т. Д.

2> Сессии Состояние: Значение, назначенное объекту состояния сеанса, будет иметь область действия только для этого сеанса (до тех пор, пока вы не выполните сеанс.abondon). Например: при входе на сайт сайт может хранить ваш идентификатор входа в переменной сеанса. Эта переменная сеанса будет доступна на всех страницах, пока вы не выйдете из системы.

3> Посмотреть состояние: область действия вида - это страница и последующие обратные копии. Как только вы перейдете на другую страницу, значения исчезнут. Это в основном используется для хранения вычисленных значений, которые могут использоваться после сообщения назад. Кроме того, ASP.net внутренне использует viewstate для заполнения контрольных значений после обратной передачи. Состояние представления - это управление состоянием уровня страницы.

 Смежные вопросы

  • Нет связанных вопросов^_^