ASP.net MVC4/MVC5 错误处理及设置

很无聊的记录下。首先IIS 7以上的版本测试才成功html

首先web

//全局ErrorHandler  
  public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new HandleErrorAttribute());

            filters.Add(new VcodeFilterAttribute());
        }

而后MVC web.config 设置以下测试

<!-- 放到system.webServer -->
  <httpErrors errorMode="Custom" existingResponse="Replace">
      <remove statusCode="404"/>
      <remove statusCode="500"/>
      <error statusCode="404" path="/Error/Error404" responseMode="ExecuteURL"/>
      <error statusCode="500" path="/Error/Error500" responseMode="ExecuteURL"/>
    </httpErrors>

  确保它是关闭的。spa

  <customErrors mode="Off" />

 

而后有个ErrorController。日志

 public class ErrorController : Controller
    {
       
        public ActionResult Error404()
        {
            return View();
        }

        public ActionResult Error500()
        {
            return View();
        }

    }

 

View 中,喜欢怎么写就怎么写。固然要设置一下StatusCode,不然所有返回200code

 @{ Response.StatusCode = 404;}

固然也能够在controller里面设置htm

 

日志能够写在global里面blog

    protected void Application_Error(object sender, EventArgs e)
        {
            var exception = Server.GetLastError();
          //log exception
}
相关文章
相关标签/搜索