我有一個基礎控制器類,我在其中重寫Controller.OnException處理程序方法,以便爲將繼承此類的某些類型的控制器提供通用錯誤處理(這些是將返回JSON結果的API控制器)。當控制器引發異常時,OnException方法永遠不會被調用。有沒有人看到我做錯了什麼,還是有更好的方法來處理這種情況?ASP.NET MVC Controller.OnException未被調用
使用MVC 1.0
基類:
public class APIController : Controller
{
protected override void OnException(ExceptionContext filterContext)
{
//This is never called
filterContext.Result =
new JsonResult();
base.OnException(filterContext);
}
}
繼承類:
public class MyController : APIController
{
public AjaxResult ForcedException()
{
throw new SystemException();
}
}
「當控制器引發異常時,OnException方法永遠不會被調用」 - 您是否使用調試器檢查了這一點?你的問題並不清楚。 – 2009-06-06 20:40:06
我試過它從調試器,並通過使用日誌語句並在調試器外運行它。他們都沒有爲我工作。 – 2009-06-07 14:48:17