在Asp.Net MVC(RC 5)404的HTTP错误处理程序在Asp.Net MVC(RC 5)

2019-05-17 07:03发布

我怎么能不处理程序的框架抛出异常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)