Стратегии сокращения размера ViewState в asp.net

Я использую 'n' количество управления сервером на моей странице. Теперь я в настройку производительности, и я заметил что мой ViewState является слишком большим, и это делает мою страницу медленной.

Я знаю ViewState размер может быть сжат Gzip. Любые другие предложения для сокращения ViewState в asp.net. Я не хочу делать в IIS, потому что мое веб-приложение размещается на общем сервере.

5
задан Kelsey 1 September 2011 в 16:44
поделиться

4 ответа

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

У вас есть 'n' номеров элементов управления сервера, вам нужно, чтобы все 'n' номера были элементами управления сервера, а не только простой HTML?

Скажем, вам действительно нужно все 'n' из них, нужно ли включать состояние viewstate?

Вот одна хорошая статья (если вы еще не прочитали), которая дает больше информации: VIEWSTATE минимизация размера

8
ответ дан 18 December 2019 в 09:50
поделиться

EnableViewState = false; должен стать вашим другом.

Предположив, что в настоящее время вы используете вид-статус ТОЛЬКО там, где вам нужно, вы можете сделать следующее:

  1. Переключить Labels на Literals, особенно, если вы используете их в шаблонах. Метки имеют гораздо большее состояние просмотра.
  2. Попробуйте уменьшить обратные сообщения. Чем меньше обратных сообщений, тем меньше нужно использовать viewstate, т.к. не нужно перезагружать всю страницу. Например, используйте AJAX-вызовы и записывайте данные с помощью манипуляций на стороне клиента.
  3. Используйте сеанс или кэширование для хранения больших объемов данных для решеток и тяжелых элементов управления данными. С каждой перезагрузкой просто заполняйте ее самостоятельно.
5
ответ дан 18 December 2019 в 09:50
поделиться

Вид-статы следует использовать только тогда, когда необходимо запомнить состояние страницы между возвратами сообщений. Это используется для предотвращения дополнительного доступа к базе данных. Поэтому, если это не требуется в Вашем управлении, используйте EnableViewState = False. Если ничто на Вашей странице не нуждается в представлении состояния, Вы можете отключить представление для этой страницы, добавив EnableViewState = False в тег Page.

Если Ваш сервер может себе это позволить, Вы, возможно, захотите передать данные в Sessions. Сделайте это, если это необходимо для обеспечения безопасности (состояние просмотра не должно содержать конфиденциальных данных), или если в Вашем состоянии просмотра содержится большое количество данных. Будьте осторожны, так как по умолчанию Sessions хранятся в памяти сервера. Поэтому, если Вы ожидаете много одновременных пользователей, не стоит использовать это слишком много с большими данными. Однако, Вы можете изменить место хранения сессии (т.е. другой сервер).

2
ответ дан 18 December 2019 в 09:50
поделиться

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

.
0
ответ дан 18 December 2019 в 09:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: