我们刚刚升级到 ASP.NET 4.0,发现 requestValidation 不再有效。MSDN 文档建议我们需要将web.config 中的requestValidationMode设置为 2.0:
- 4.0(默认)。HttpRequest 对象在内部设置一个标志,指示在访问任何 HTTP 请求数据时都应触发请求验证。这保证了在请求期间访问 cookie 和 URL 等数据之前触发请求验证。配置文件中 pages 元素(如果有)或单个页面中 @Page 指令的请求验证设置将被忽略。
- 2.0。请求验证仅对页面启用,并非对所有 HTTP 请求启用。此外,配置文件中 pages 元素(如果有)或单个页面中 @Page 指令的请求验证设置用于确定要验证哪些页面请求。
这对我们有用,但我有点困惑。似乎我们将其置于旧版/兼容模式中。当然应该可以有 4.0 的行为,但仍然可以选择在页面上关闭它?