我正在使用C#在ASP.NET MVC中进行开发,并且有一个这样声明的操作:
public FileResult ViewImage (int ImageFileItemId,
int MaxWidth,
int MaxHeight,
bool FixedWidthHeight,
string JpegQuality)
我想验证参数FixedWidthHeight
是客观地true
还是false
。如果不是,我将找不到操作,也不会出现错误,例如“错误参数值”。
我听说使用'constrains'参数可以验证这一点,但是如何验证呢?
很多时候,我们的客户写着https://.../ViewImage?ImageFileItemId= 6654&MaxWidth=800&MaxHeight=400&FixedWidthHeight=Trutes
之类的东西。通常情况下,该操作会返回一个图像,在这种情况下,它将给出一个错误。这个想法是发送404,因为Google和其他网站认为该URL有效。因此对于Google,我们的页面是错误的。
答案 0 :(得分:0)
如果要启用此方案,则应将FixedWidthHeight
参数声明为字符串,然后自己将其解析为布尔值。
使用伪代码:
public FileResult ViewImage (int ImageFileItemId,
int MaxWidth,
int MaxHeight,
string FixedWidthHeight,
string JpegQuality)
{
bool fixed;
if (Boolean.TryParse(FixedWidthHeight, out fixed))
{
// Process the request normally
// Where the 'fixed' variable holds the parsed value
}
else
{
// Return a 404, 403, 'parameter error' or something else
}
}