Asp.net mvc 如何在IIS6上运行的ASP.NET MVC中禁用请求验证?

Asp.net mvc 如何在IIS6上运行的ASP.NET MVC中禁用请求验证?,asp.net-mvc,Asp.net Mvc,我有一个ASP.NETMVC应用程序,它应该处理发布的XML数据。在卡西尼,一切都很好,但当我将应用程序部署到IIS6时,我遇到了以下错误 A potentially dangerous Request.Form value was detected from the client (xml="<?xml version="1.0" ..."). 没什么帮助 你有什么其他的想法吗?我怎样才能摆脱这个烦人的请求验证 编辑:对不起。和往常一样,我完全犯了错误。设置通配符映射后,一切正常。是P

我有一个ASP.NETMVC应用程序,它应该处理发布的XML数据。在卡西尼,一切都很好,但当我将应用程序部署到IIS6时,我遇到了以下错误

A potentially dangerous Request.Form value was detected from the client (xml="<?xml version="1.0" ...").
没什么帮助

你有什么其他的想法吗?我怎样才能摆脱这个烦人的请求验证


编辑:对不起。和往常一样,我完全犯了错误。设置通配符映射后,一切正常。

是POST方法上的(ValidateInput)吗?它只适用于POST。

它(ValidateInput)是否在POST方法上?它只适用于POST。

正如Richard所说,您应该将其放在接受输入的操作方法上:

[HttpPost]
[ValidateInput (false)]
public ActionResult DoTheThing (StuffBeingPostedBack stuff)
{
    // ...
}

正如Richard所说,您应该将其放在接受输入的action方法上:

[HttpPost]
[ValidateInput (false)]
public ActionResult DoTheThing (StuffBeingPostedBack stuff)
{
    // ...
}

在控制器的post方法中,将[ValidateInput(false)]置于操作结果之上……

将[ValidateInput(false)]置于控制器的post方法中,将[ValidateInput(false)]置于操作结果之上……

是的,触发此问题的是post请求。我还尝试将AcceptVerbs(HttpVerbs.Post)和ValidateInput(false)添加到特定的方法中,但它现在似乎在IIS6.Oddness中起到了作用——这应该是可行的。您是否确实发布到该操作,而不是其他操作?是的,触发此问题的是post请求。我还尝试将AcceptVerbs(HttpVerbs.Post)和ValidateInput(false)添加到特定的方法中,但它现在似乎在IIS6.Oddness中起到了作用——这应该是可行的。你肯定是在那个行动上发帖,而不是另一个行动吗?