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
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM