Опыт показывает, что ViewState оказывает наибольшее влияние на производительность UpdatePanels и AJAX в целом, поскольку каждый раз, когда происходит двусторонняя передача данных, все данные в ViewState должны быть сериализованы, упакованы в XmlHttpRequest и отправлены по сети.
Максимально уменьшите ViewState (отключите его для элементов управления, таких как метки, которые определены на странице aspx и не будут меняться во время круговых поездок - установите для них свойство EnableViewState="False"
)
Минимизируйте область действия UpdatePanels. Под этим я подразумеваю максимально уменьшить количество элементов управления в панелях. Если определенные элементы управления не нужно обновлять во время запросов AJAX, извлеките их из панели обновления, чтобы уменьшить накладные расходы на стороне клиента.
Примите во внимание тот факт, что по умолчанию UpdatePanels «подключены», что означает, что во время каждого цикла обновления ВСЕ UpdatePanels будут выполнять свои функции обновления, даже если для изменения потребуется только одна панель. Чтобы обойти это, попробуйте использовать свойство UpdateMode="Conditional"
. Затем вы вынуждены запускать несколько панелей для обновления только тогда, когда это необходимо.
Здесь хорошо обсуждается использование UpdatePanel:
Одна панель обновления против нескольких панелей обновления
В целом, я бы согласился с другими, что кажется, что AJAX может быть не единственной вашей проблемой. Возможно, вы захотите профилировать производительность приложения и базы данных, чтобы сфокусироваться на нужной области.