数据库关闭时如何防止“503服务不可用”

时间:2015-12-22 09:15:15

标签: c# sql-server asp.net-mvc iis

当我的数据库服务器出现故障时,这会导致另一台服务器上的IIS托管MVC应用程序崩溃。

然后所有页面显示HTTP错误503:服务不可用。

我需要一个解决方案,例如在global.asax中放置一个错误处理程序,例如Application_Error(),但这个不适合我的需要。我如何处理这种情况,以便我的应用程序显示每个错误的特定错误页面,而不是崩溃。

1 个答案:

答案 0 :(得分:1)

正如What possibilities can cause "Service Unavailable 503" error?TechNet: 503-Service Unavailable (IIS 6.0)中所述,出现503错误的原因有很多。

在你的情况下,它是" rapid-fail protection"启动IIS。您的应用程序崩溃了您的工作进程,并且在很短的时间内发生了很多次,服务器认为您的应用程序存在某些内在错误并关闭应用程序池。

请注意,应用程序错误(例如,对于不可用数据库发生异常)不应该终止工作进程。如果这种情况发生了很多,还有其他一些非常错误的东西。检查事件日志以找出错误的实际来源并修复它。

与此同时,您可以通过在适当的位置添加try-catch语句,或在Application_Error中添加全局异常处理程序来阻止崩溃。