Я все время слышу эти слова "Viewstate Chunking". Что такое Viewstate Chunking?
А как это работает для страниц ASP.NET?
Я все время слышу эти слова "Viewstate Chunking". Что такое Viewstate Chunking?
А как это работает для страниц ASP.NET?
Когда ViewState на вашей странице становится очень большим, это может быть проблемой, поскольку некоторые брандмауэры и прокси-серверы предотвращают доступ к страницам, содержащим ViewState огромных размеров. Для этой цели ASP.NET вводит механизм фрагментации ViewState. Таким образом, 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 после:
<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=" />
надеюсь, это поможет вам!
Из Что нового в управлении состоянием ASP.NET - MSDN
Если объем данных состояния представления становится слишком большим, фрагменты состояния представления автоматически разбивают данные на фрагменты и помещают данные в несколько полей скрытой формы.
Зачем нам нужно Viewstate Chunking?
Вот выдержка из ViewState Overivew - MSDN а>
Еще одно важное соображение заключается в том, что если объем данных в скрытом поле становится большим, некоторые прокси-серверы и брандмауэры будут препятствовать доступу к странице, которая их содержит. Поскольку максимальное количество может варьироваться в зависимости от реализации брандмауэра и прокси, большие скрытые поля могут вызывать спорадические проблемы. Чтобы избежать этой проблемы, если объем данных, хранящихся в свойстве ViewState, превышает значение, указанное на странице MaxPageStateFieldLength, страница разбивает состояние просмотра на несколько скрытых полей, чтобы уменьшить размер каждого отдельного поля ниже размера, который отклоняется брандмауэрами. .