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


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

    首先

    //全局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>
    

      确保它是关闭的。

      <customErrors mode="Off" />

    然后有个ErrorController。

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

    View 中,喜欢怎么写就怎么写。当然要设置一下StatusCode,否则全部返回200

     @{ Response.StatusCode = 404;}

    当然也可以在controller里面设置

    日志可以写在global里面

        protected void Application_Error(object sender, EventArgs e)
            {
                var exception = Server.GetLastError();
              //log exception
    }
  • 相关阅读:
    帆软报表实现全选全不选的功能
    knowledge_others
    skills_kafka
    skills_operation
    problems_others
    skills_windows
    c语言标识符
    快速排序法
    字符串处理scanf("%d%*c",&n);
    Byte.parseByte(String s,int radix)的解释
  • 原文地址:https://www.cnblogs.com/fantasylu/p/6294164.html
Copyright © 2020-2023  润新知