【发布时间】:2011-04-06 00:48:02
【问题描述】:
当我在表单中输入 HTML 时,我们的测试 Web 服务器上安装了 .NET 4.0 的应用程序出现错误。我收到以下常见错误:
从 客户
这是由 .NET 4.0 中的更改导致的,该更改禁用关闭 HTML 输入的自动验证。我可以通过添加
在我的本地开发机器上解决此问题<httpRuntime requestValidationMode="2.0" />
指向我的根 web.config 的 <system.web> 部分的指令,然后 .NET 遵循位于同一根 web.config 中的 <pages validateRequest="false" /> 指令。奇怪的是,我需要在本地机器(5.1 版)上重新启动 IIS 才能使此更改生效。
但是,当我将根 web.config 部署到我们的测试服务器时,我仍然收到验证错误。我尝试使用run > iisreset,停止和启动 IIS(测试服务器上的版本为 6.0),甚至重新启动服务器以完全清除 .NET。我的应用程序肯定会选择新的根 web.config(我已经对此进行了测试),但是 <httpRuntime requestValidationMode="2.0" /> 指令似乎只是被忽略了。
我的应用程序在我的本地计算机和测试服务器上都配置为 .NET 4.0 应用程序。我尝试重建应用程序并将其重新部署到测试 Web 服务器。谁能建议我需要做什么才能使其正常工作?
提前致谢,克里斯
【问题讨论】:
-
对我来说,它在开发和产品环境中的工作都没有任何问题。也许是你想念的其他东西。
-
您确定您的应用在 4.0 以下的应用池下运行吗?或者您是否可能在一个虚拟应用程序/目录中运行它,它是 2.0/3.5 应用程序的子级?
标签: asp.net validation .net-4.0 requestvalidationmode