Я мало что могу вам сказать, кроме "не вкладывайте много в ваш ViewState
".
Места, которые я бы искал для оптимизации:
- Все, что вы добавили в ViewState самостоятельно
- Большие объемы данных, связанные с элементами управления отображением данных, такими как
GridViews
, <x>Lists
и Repeaters
.
GridViews
особенно плохо относятся к ViewState
; все, что вы связываете с данными, входит в него, поэтому, если вы свяжете особенно большой список, ожидая, что ASP.NET выполнит разбивку на страницы, вы получите огромный ViewState
. Единственный способ обойти это - привязывать только одну страницу за раз к GridView
, но это означает, что вам придется выполнять нумерацию на стороне данных, которая может быть столь же болезненной, или отключить ViewState
для GridView
, что означает (возможно) полезные функции, такие как встроенное редактирование, больше не доступны.
Здесь нет серебряной пули.