我的所有控制器都继承自BaseController
,其中包括支持记录错误和适当重定向的以下方法:
protected override void OnException(ExceptionContext filterContext)
{
if (filterContext.ExceptionHandled)
{
return;
}
LogException(filterContext.Exception);
if (filterContext.Exception is PermissionException)
{
filterContext.Result = RedirectToAction("NotAuthorized", "Home");
filterContext.ExceptionHandled = true;
}
else
{
#if !DEBUG
filterContext.Result = RedirectToAction("Error", "Home");
filterContext.ExceptionHandled = true;
#endif
}
}
但是,IIS永远不会到达LogException
行。如何配置IIS以允许方法以与在我的开发环境中相同的方式处理?我也对我的数据库中记录错误的其他方法持开放态度。