Почему делает __ СОСТОЯНИЕ ОТОБРАЖЕНИЯ, которым представляется скрытое поле, даже когда мне установили EnableViewState на ложь

Я читал, что при изменении уровня совместимости не возникает никаких проблем с производительностью, кроме улучшения

blockquote>

Где вы это прочитали? Конечно, может быть снижение производительности, как в 2014 было введено новое cardinality estimator. Таким образом, некоторые из ваших query plans могут измениться с оптимального на субоптимальный. Вот почему compatibility level 100 все еще поддерживается, устанавливая его, вы говорите своему серверу использовать old cardinality estimator для всех ваших запросов к базе данных.

В случае, если только несколько запросов стали медленнее, вы можете оставить compatibility level 120 и использовать 9481 query trace flag для этих запросов, как описано здесь: Включить поведение оптимизатора запросов SQL Server, влияющее на план, которое может быть управляется различными флагами трассировки на уровне конкретного запроса

7
задан splattne 22 February 2009 в 12:03
поделиться

2 ответа

__ поле VIEWSTATE также используется для хранения состояния управления, которое не является дополнительным. Кроме того, информация, содержавшаяся в состоянии отображения, используется для проверки обратной передачи, если я не ошибаюсь (и проверка включена, который является значением по умолчанию). Таким образом, пока у Вас есть форма с runat = "сервер", у Вас будет поле состояния отображения. Однако необходимо заметить намного меньший размер поля при отключении всего состояния отображения.

17
ответ дан 6 December 2019 в 11:53
поделиться

Совет: В Asp.net, если вам нужно полностью удалить __VIEWSTATE, переопределите метод Page.Render, отобразите страницу в строку и удалите из нее текст __VIEWSTATE.

0
ответ дан 6 December 2019 в 11:53
поделиться
Другие вопросы по тегам:

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