Яка різниця між SessionState та ViewState?


Відповіді:


143

Стан сесії містить інформацію, яка стосується певного сеансу (певним клієнтом / браузером / машиною) з сервером. Це спосіб відстежувати, що користувач робить на сайті .. на кількох сторінках ... на тлі без громадянства в Інтернеті. наприклад, вміст кошика конкретного користувача - це дані сеансу. Файли cookie можна використовувати для стану сеансу.
Подивитися держава з іншого боку, інформація , що відноситься до певної веб - сторінці. Він зберігається у прихованому полі, щоб його не було видно користувачеві. Він використовується для підтримки ілюзії користувача, що сторінка запам'ятовує те, що він робив на ній востаннє - не давайте йому чисту сторінку кожного разу, коли він публікує повідомлення назад. Перевірте цю сторінку для отримання додаткової інформації .


96

Стан сесії зберігається на сервері, ViewState зберігається на сторінці.

Стан сесії зазвичай очищається після періоду бездіяльності користувача (жодного запиту, що містить ідентифікатор сеансу у файлах cookie запиту, не сталося)

Стан перегляду розміщується на наступній публікації назад у прихованому полі.


30
+1 Так - важливий момент, що ViewState пересувається між клієнтом та сервером, але SessionState залишається на сервері.
Gordon Mackie JoanMiro

1
Це мала бути офіційна відповідь
Fandango68

33

SessionState

  • Можна зберігати пам’ять, що робить його швидким рішенням. Це означає, що стан не можна ділити в Веб-фермі / Веб-саду.
  • Може зберігатися у базі даних, корисній для веб-ферм / веб-садів.
  • Очищається, коли сеанс вмирає - зазвичай після 20 хв бездіяльності.

ViewState

  • Посилається туди-назад між сервером і клієнтом, займаючи пропускну здатність.
  • Не має терміну придатності.
  • Корисно в Веб-фермі / Веб-саду

14

Використання: якщо ви збираєтеся зберігати інформацію, до якої ви хочете отримати доступ, на різних веб-сторінках, ви можете використовувати SessionState

Якщо ви хочете зберігати інформацію, до якої ви хочете отримати доступ з тієї ж сторінки, ви можете використовувати Viewstate

Зберігання Viewstate зберігається в межах самої сторінки (в зашифрованому тексті), тоді як Sessionstate зберігається на сервері.

SessionState очиститься в наступних умовах

  1. Очищено програмістом
  2. Очищено користувачем
  3. Час вийшов

5
ViewStates не шифруються. Вони просто так виглядають, але їх легко розшифрувати.
Vandel212

5

Сесія використовується в основному для зберігання конкретних даних користувача [конкретних сеансів даних]. У випадку сеансу ви можете використовувати значення для всього сеансу до закінчення сеансу або користувач відмовиться від сеансу. Viewstate - це тип даних, який має область застосування лише на сторінці, на якій він використовується. Ви не можете мати значення стану перегляду доступні для інших сторінок, якщо ви не перенесите ці значення на потрібну сторінку. Також у випадку viewstate всі дані управління на стороні сервера передаються на сервер у вигляді пари ключових значень у __Viewstate та передаються назад та передаються у відповідний елемент управління у клієнті, коли відбувається післягарантійне повідомлення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.