我的应用程序中有一个与此解决方案非常相似的异常处理:http: //www.devcurry.com/2012/06/aspnet-mvc-handling-exceptions-and-404.html
我的应用程序中有一个令人讨厌的错误,其中 sql 可能与其他进程死锁。这种情况很少发生(每天有 1-2 个请求因此失败),但它仍然会发生。
如何在 sql deadlock 上自动刷新页面(并在获取请求时以这种方式向最终用户隐藏错误)?
我可以在 Application_Error 函数中执行此操作吗?还是在 HandleErrorAttribute 中被覆盖的 OnException 中?
编辑:
我在我创建的 BaseController 中模拟了一些代码:
protected override void OnException(ExceptionContext filterContext)
{
Exception ex = filterContext.Exception;
SqlException sex = ex as SqlException;
if (sex != null && sex.Number == 1205)
{
Log.Error("Transaction deadlocked with the following exception:");
Log.Exception(sex);
//I need to write the logic that refreshes the page here.
}
else
{
Log.Error("Application error with the following exception:");
Log.Exception(ex);
}
base.OnException(filterContext);
}
我需要刷新部分的帮助。