среда, 25 мая 2011 г.

Настоящее понимание ViewState'а

http://habrahabr.ru/blogs/net/119537/

Непонимание ViewState'а ведет к...

  1. Потере важной информации
  2. Атакам на ViewState
  3. Плохой производительности — вплоть до ОТСУТСТВИЯ ПРОИЗВОДИТЕЛЬНОСТИ
  4. Плохой расширяемости — как много пользователей вы сможете обслужить, если каждый из них будет отправлять 50k с каждым запросом?
  5. Плохому дизайну вообще
  6. Головной боли, тошноте, головокружениям и необратимому искривлению формы надбровных дуг

Что делает ViewState?

Это список основных функций ViewState'а. Каждая из них служит определенной цели. Далее мы рассмотрим, как именно они этих целей достигают.
  1. Сохраняет данные элементов управления по ключу, как хэш-таблица
  2. Отслеживает изменения состояния ViewState'а
  3. Сериализирует и десериализирует сохраненные данные в скрытое поле на клиенте
  4. Автоматически восстанавливает данные на postback'ах


Еще более важно понимать, что ViewState НЕ делает.

Что не делает ViewState?

  1. Автоматически сохраняет состояние полей класса (скрытых, защищенных или открытых)
  2. Запоминает какую-либо информацию при загрузке страницы (только postback'и)
  3. Исключает необходимость загружать данные при каждом запросе
  4. Отвечает за загрузку данных, которые были отправлены на сервер, например введенных в текстовое поле (хотя ViewState и играет здесь важную роль)
  5. Варит вам кофе