【发布时间】:2010-06-18 20:46:26
【问题描述】:
.NET 4 出于某种原因破坏了ValidateRequest=“false”。
解决方案是 -- 只需将 <httpRuntime requestValidationMode="2.0" /> 放入您的 web.config 文件中。
该解决方案的问题在于它破坏了对 .NET 2.0 的支持!
IIS 拒绝接受 web.config 中的未知属性。我也不喜欢这种全有或全无的性质。
我可以为需要它的单个页面设置 requestValidationMode(或以其他方式禁用请求验证)吗?在不破坏 web.config 与 2.0 的向后兼容性的情况下?
【问题讨论】:
-
"它拒绝接受 web.config 中的未知属性。"这是什么意思?当我把例如
<authentication mode="Forms" blabla="5">启动应用程序时出现错误(“未知的 blabla 属性”),无论我是否设置了<httpRuntime requestValidationMode="2.0" />。究竟是什么问题? -
问题是我不能有相同的 web.config 在 .NET 2 和 .NET 4 下运行。
-
@MK 为什么需要在 NET2 和 NET4 下有相同的配置????我认为你试图做的却是做不到的。
-
@Aristos 为什么不为 NET2 和 NET4 设置相同的配置?我有一个需要 .NET2 并且在 .NET4 下可以正常工作的产品,除了这个小东西。为什么我会有 2 个单独的 web.config 文件?我的产品如何知道使用哪一种?我想它可以在安装过程中检测到,但是如果用户稍后出于某种原因升级到 .NET4 怎么办?
-
@Aristos 有些人仍在销售产品,而不是建立网站。当您销售产品时,您需要确保它在尽可能多的场景下工作,以最大限度地降低支持成本。
标签: asp.net asp.net-4.0