Мы только что обновились до ASP.NET 4.0 и обнаружили, что requestValidation больше не работает. В документации MSDN предлагается установить requestValidationMode в web.config равным 2.0:
- 4.0 (по умолчанию). Объект HttpRequest внутренне устанавливает флаг, который указывает, что проверка запроса должна запускаться всякий раз, когда осуществляется доступ к любым данным HTTP-запроса. Это гарантирует, что проверка запроса запускается до того, как во время запроса будут доступны такие данные, как файлы cookie и URL-адреса. Параметры проверки запроса элемента pages (если есть) в файле конфигурации или директивы @ Page на отдельной странице игнорируются.
- 2.0. Проверка запроса включена только для страниц, а не для всех HTTP-запросов.Кроме того, параметры проверки запроса элемента страниц (если есть) в файле конфигурации или директивы @ Page на отдельной странице используются для определения того, какая страница запрашивает {{1 }} проверить.
Это сработает для нас, однако я немного озадачен. Похоже, мы переводим это в режим устаревания / совместимости. Конечно, должно быть возможно поведение 4.0, но все же есть возможность отключить это на странице?