我有一个MVC项目,其中过滤器检查请求参数中的参数。
request.Params["Username"]
但是如果请求包含非法字符,则params属性会抛出HttpRequestValidationException异常。
所以我必须捕获这个异常然后访问params属性,它工作正常。
如何禁用此请求的验证,该请求作为HttpRequestBase进入辅助类?我不希望全局为每个请求执行此操作,只是当它到达此类时。
答案 0 :(得分:1)
正如@ Jon-S所述,UnvalidatedRequestValues是您可以绕过单个值的验证的方法。在这个例子中,它将是:
request.Unvalidated["Username"]
答案 1 :(得分:0)
如果没有看到更多代码,我无法确定,但听起来您可以将请求放在try-catch中。
try
{
...
request.Params["Username"]
...
}
catch (HttpRequestValidationException ex)
{
//your error handling goes here.
}