【发布时间】:2018-12-10 20:23:55
【问题描述】:
我正在使用 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,我们的页面是错误的。
【问题讨论】:
-
很多时候我们的客户会写“https://.../ViewImage?ImageFileItemId= 6654&MaxWidth=800&MaxHeight=400&FixedWidthHeight=Trutes”之类的东西,该操作返回一个图像,它给出了一个错误,但这个想法是发送 404,因为 google 和其他他们认为 url 是有效的,而对于 google,我们的页面是错误的。
-
我会使用 403 而不是 404。表明请求已被理解,但您不想完成它,原因在响应正文中进行了说明。
标签: c# asp.net .net asp.net-mvc asp.net-mvc-4