我怎么能不处理程序的框架抛出异常500错误代码404错误?
Answer 1:
http://jason.whitehorn.ws/2008/06/17/Friendly-404-Errors-In-ASPNET-MVC.aspx给出了如下解释:
添加一个通配符路由规则为您的最终规则:
routes.MapRoute("Error",
"{*url}",
new { controller = "Error", action = "Http404" });
不符合其他规则的任何请求被路由到错误的控制器,你还需要配置的HTTP404行动:
public ActionResult Http404(string url) {
Response.StatusCode = 404;
ViewData["url"] = url;
return View();
}
Answer 2:
您还可以将在请求不匹配控制器的情况下,控制器内覆盖HandleUnknownAction,但不匹配的作用。 默认的实现确实提出一个404错误。
Answer 3:
抛出新HttpException(404, “未找到资源”);
Answer 4:
随着MVC 3,你可以返回HttpNotFound()正确返回404。
像这样:
public ActionResult Download(string fontName)
{
FontCache.InitalizeFonts();
fontName = HttpUtility.UrlDecode(fontName);
var font = FontCache.GetFontByName(fontName);
if (font == null)
return HttpNotFound();
return View(font);
}
文章来源: 404 Http error handler in Asp.Net MVC (RC 5)