Просмотр заголовков в asp.net

Я продолжаю слышать эти слова "Viewstate Chunking". Что такое Viewstate Chunking?

И как он работает для страниц ASP.NET?

Ответ 1

Когда ViewState на вашей странице становится очень большой, это может быть проблемой, поскольку некоторые брандмауэры и прокси предотвращают доступ к страницам, содержащим огромные размеры ViewState. Для этой цели ASP.NET вводит механизм ViewState Chunking. Таким образом, ASP.NET позволяет разбивать одно скрытое поле ViewState на несколько, используя свойство MaxPageStateFieldLength в разделе web.config.

Если для свойства MaxPageStateFieldLength установлено положительное число, состояние представления, отправленное в браузер клиента, разбивается на несколько скрытых полей.

Установка свойства MaxPageStateFieldLength на отрицательное число (по умолчанию) означает, что поле состояния представления не должно быть разделено на куски. Установка MaxPageStateFieldLength на небольшое число может привести к низкой производительности.

Пример ViewState до:

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"value="/wEPDwUKLTk2Njk3OTQxNg9kFgICAw9kFgICCQ88KwANAGQYAQUJR3Jp
ZFZpZXcxD2dk4sjERFfnDXV/hMFGAL10HQUnZbk=" />

Затем установите в web.config:

<pages maxPageStateFieldLength="40">

Пример ViewState After:

<input type="hidden" name="__VIEWSTATEFIELDCOUNT" id="__VIEWSTATEFIELDCOUNT"value="3" />
<input type="hidden" name="__VIEWSTATE"
id="__VIEWSTATE" value="/wEPDwUKLTk2Njk3OTQxNg9kFgICAw9kFgICCQ88" />
<input type="hidden" name="__VIEWSTATE1"
id="__VIEWSTATE1" value="KwANAGQYAQUJR3JpZFZpZXcxD2dk4sjERFfnDXV/" />
<input type="hidden" name="__VIEWSTATE2"
id="__VIEWSTATE2" value="hMFGAL10HQUnZbk=" /> 

надеюсь, что это поможет вам!

Ответ 2

От Что нового в управлении ASP.NET State - MSDN

Если объем данных состояния представления становится слишком большим, состояние просмотра chunking автоматически разбивает данные на куски и помещает данных в несколько полей скрытой формы.

Зачем нам нужно Viewstate Chunking?

Вот выдержка из ViewState Overivew - MSDN

Еще одно важное соображение состоит в том, что если количество данных в скрытое поле становится большим, некоторые прокси и брандмауэры доступ к странице, содержащей их. Поскольку максимальная сумма может варьируются в зависимости от разных брандмауэров и прокси-реализаций, больших скрытых поля могут вызывать спорадические проблемы. Чтобы избежать этой проблемы, количество данных, хранящихся в свойстве ViewState, превышает значение указанный на странице MaxPageStateFieldLength свойство, страница разбивает состояние просмотра на несколько скрытых полей, чтобы уменьшить размер каждое отдельное поле ниже размера, которое брандмауэры отклоняют.