ASP.NET MVC:在应用程序启动时检查数据库连接

时间:2016-05-08 10:27:46

标签: c# asp.net asp.net-mvc asp.net-mvc-5

1-有时我的SQL Server因维护而停机,所以当我尝试运行我的ASP.NET MVC应用程序时,我面对黄色错误屏幕,错误为network-related or instance-specific error occurred while establishing a connection to SQL Server.

由于我不知道ASP.NET MVC中的事件序列,我想知道应该在哪里检查连接,因此我可以将用户重定向到一个视图,通知他/她这种情况(而不是显示此错误页)。 我在asp.net论坛中看到了this answer,但我无法理解如何在global.asax内处理这个问题。

2-是否可以对每个数据库连接错误进行一些更改,我可以将用户重定向到该信息页面?我的意思是可以为数据库连接错误定义全局异常处理程序吗?

P.S。我在web.config中的connectionString名为DefaultConnection

1 个答案:

答案 0 :(得分:5)

我认为你可以准备一个全局过滤器(如果你有许多控制器,并且不想用属性装饰每个过滤器),只需用它来检查抛出了什么样的异常,例如:将用户重定向到某个自定义视图:

public class SqlExceptionFilter: IExceptionFilter
{
    public void OnException(ExceptionContext filterContext)
    {
        // Do your logic
    }
}

然后只需在Global.asax方法的Application_Start()中注册:

GlobalFilters.Filters.Add(new SqlExceptionFilter());