ASP.NET 4.0 にアップグレードしたところ、requestValidation が機能しなくなっていることがわかりました。MSDN のドキュメントでは、web.config でrequestValidationModeを 2.0 に設定する必要があることが示唆されています。
- 4.0 (デフォルト)。HttpRequest オブジェクトは、HTTP 要求データにアクセスするたびに要求の検証をトリガーする必要があることを示すフラグを内部的に設定します。これにより、リクエスト中に Cookie や URL などのデータにアクセスする前に、リクエストの検証がトリガーされることが保証されます。構成ファイル内のページ要素 (存在する場合) または個々のページ内の @ Page ディレクティブの要求検証設定は無視されます。
- 2.0。リクエストの検証は、すべての HTTP リクエストではなく、ページに対してのみ有効になります。さらに、構成ファイル内のページ要素 (存在する場合) または個々のページ内の @ Page ディレクティブの要求検証設定を使用して、検証するページ要求が決定されます。
これは私たちにとってはうまくいくでしょうが、私は少し困惑しています. これをレガシー/互換モードに入れているようです。確かに 4.0 の動作が可能なはずですが、ページでこれをオフにするオプションがまだありますか?