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

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

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

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

PS我在web.config中的connectionString被命名为DefaultConnection

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

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

然后在Application_Start()方法中将其注册到Global.asax中:

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