作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们刚刚升级到 ASP.NET 4.0,发现 requestValidation 不再有效。 MSDN 文档建议我们需要设置 requestValidationMode在 web.config 到 2.0 中:
- 4.0 (the default). The HttpRequest object internally sets a flag that indicates that request validation should be triggered whenever any HTTP request data is accessed. This guarantees that the request validation is triggered before data such as cookies and URLs are accessed during the request. The request validation settings of the pages element (if any) in the configuration file or of the @ Page directive in an individual page are ignored.
- 2.0. Request validation is enabled only for pages, not for all HTTP requests. In addition, the request validation settings of the pages element (if any) in the configuration file or of the @ Page directive in an individual page are used to determine which page requests to validate.
这对我们有用,但我有点困惑。看来我们正在将其置于遗留/兼容模式中。当然应该有 4.0 行为,但仍然可以选择在页面上关闭它?
最佳答案
我找到了一种无需将整个站点的 RequestValidationMode 更改为 2.0 即可实现此目的的方法:
您可以为要禁用请求验证的页面创建一个子目录,并向此目录添加一个新的 web.config 并将 RequestValidationMode 设置为 2.0,这样只有此目录才能在 2.0 模式下工作而不会影响所有其他目录将在 4.0 模式下工作的请求。
我认为您可以在主 web.config 中添加一个位置部分,仅指定一个页面,但我尚未对此进行测试。像这样:
<location path="Admin/Translation.aspx">
<system.web>
<httpRuntime requestValidationMode="2.0"/>
</system.web>
</location>
希望它能像帮助我一样帮助你!
关于c# - 如何在不将 RequestValidationMode 设置为 2.0 的情况下禁用请求验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7740944/
我是一名优秀的程序员,十分优秀!