2014-02-07 31 views
0

我有一個web應用程序的以下要求,即由MVC的5頁和的WebAPI 2服務:錯誤處理和日誌記錄在ASP.NET

  1. 所有錯誤(404,500,「有潛在危險Request.Form值從客戶端檢測到「)應該產生相應的錯誤頁面(沒有瀏覽器重定向,保持用戶在地址欄中輸入的URL)。

  2. 應該使用動態MVC視圖呈現所有錯誤頁面,幷包含用戶可以給予電話支持的唯一ID。

  3. 必須記錄所有錯誤,日誌條目應包含給予用戶的ID。

  4. 爲不同的例外產生不同的錯誤頁面,例如,對於NoSignalException,/error/NoSignal

這是可行的嗎?

+0

的[在ASP.NET MVC記錄錯誤]可能重複(http://stackoverflow.com/questions/569252/logging-errors-in-asp-net-mvc) –

回答

1

我會重寫異常掛起方法 - 在每個控制器或基地(取決於您的決定)。

protected override void OnException(ExceptionContext filterContext) 
    { 
     filterContext.Exception.ToString(); // - make any checks here 

     // If method is not implemented 
     if (filterContext.Exception.GetType() == typeof(NotImplementedException)) 
     { 
      filterContext.Result = new ViewResult { ViewName = "NotImplemented" }; 
      filterContext.ExceptionHandled = true; 
     } 
    }