我将以下代码放在全局文件中以在我的 mvc 应用程序中捕获异常:
void Application_Error(Object sender, EventArgs e)
{
Exception ex = Server.GetLastError().GetBaseException();
log.Error("Exception", ex);
}
以及以下内容以跟踪调用的控制器:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (log.IsDebugEnabled)
{
var loggingWatch = Stopwatch.StartNew();
filterContext.HttpContext.Items.Add(StopwatchKey, loggingWatch);
var message = new StringBuilder();
message.Append(string.Format("Executing controller: {0}, action: {1}",
filterContext.ActionDescriptor.ControllerDescriptor.ControllerName,
filterContext.ActionDescriptor.ActionName));
log.Debug(message);
}
}
我可以做更多的事情来捕获涉及数据库、安全性(如无法连接到 ldap)、数据问题/转换等的错误吗?