2010-05-04 47 views
0

在控制器內部執行錯誤處理和日誌記錄,或者處理OnException方法是否有意義。一種方式意味着即使在沒有任何事情可以從錯誤中恢復時,也可以在所有操作方法中寫入try/catch。在控制器級別處理此操作將允許在沒有在所有操作方法內寫入try/catch的情況下記錄並重定向到錯誤處理程序頁面。使用MVC控制器中的錯誤處理

哪種方法最有意義?以下是操作方法中try/catch的示例代碼。

 [HttpPost] 
     public ActionResult Delete(int id) 
     { 
      using (new Tracer("Project Controller")) 
      { 
       try 
       { 
        Logger.Write("Deleting project"); 
        projService.DeleteProject(id); 
        TempData["message"] = "Project Deleted successfully"; 
       } 
       catch (System.Exception ex) 
       { 
        HandleException(ex, "Project could not be deleted."); 
       } 
       return RedirectToAction("List"); 
      } 
     } 

回答

1

已經有一個HandleError屬性的形式的開始。

我建議你要麼繼承子類,要麼看它的實現來創建自定義子類。這很簡單。

HandleErrorAttribute.cs

相關問題