.Net4.0 ashx页面报错:检测到有潜在危险的Request.Form值(转)

时间:2021-09-21 17:14:40

原地址:http://zzhi191.blog.163.com/blog/static/1350849520111116518067/

web开发中难免要多到ajax技术.

asp.net中我们处理ajax后台页面有人喜欢用aspx页面,也有人喜欢用ashx页面,相比后者处理速度更快.

但是当你的环境是 .NET 4.0,而 ajax 中提交的参数正好有特殊字符时,比如 name=<head>

这时就会报错:检测到有潜在危险的 Request.Form 值

这时我们需要修改web.config文件,在<system.web></system.web>节点内添加代码,如下:

<httpRuntime  requestValidationMode="2.0"/>

让它的验证模式为.NET 2.0模式,这时ashx就不会报错.

因为4.0的验证在HTTP的BeginRequest前启用,因此,请求的验证适用于所有ASP.NET资源,aspx页面,ashx页面,Web服务和一些HTTP处理程序等.

当然如果是在aspx页面报这个错误就是在页头加验证属性,非常简单,google查询一下即可.

如果有人问 一些特殊字符在ajax怎么传到后台ashx页面呢.比如 abc.aspx?name=as&cd  这里的name值是as&cd 而不是as 这个问题可以查看我的另一篇博客 点击这里查看