2017-10-10 42 views
0

托管与IIS dotnet的核心应用程序,当我目前面临以下问题。DOTNET核心IIS上的错误网站重新启动(例如SQL服务器重新启动)

当Web服务器启动数据库服务器前,DOTNET应用抛出一个错误,这是无法连接到数据库。所以对于这么好的场外。

但问题是,当它面对在启动这个错误,它不会再尝试连接到数据库。当面临启动错误时,dotnet核心应用程序似乎放弃了。

是否有可用的一些一般重试机制来处理这些样的错误?例如,当应用程序检测到问题时,每隔5分钟重新启动一次?

+0

这是*尝试连接到数据库,而不是.NET的核心代码*。即使您使用某些模板中的样板代码,它仍然是您的代码。错误发生在哪里?发布相关代码。也许所有你需要做的就是添加一个异常处理程序并重定向到一个错误页面,或者直接返回一个空的数组到你的控制器。也许控制器本身的异常处理程序就足够了。如果你从数据库加载配置设置,你需要更高级的东西 –

回答

1

我似乎找到了自己的答案。在我的启动过程中,我已经连接到了sql数据库。我可以简单地强制IIS尝试重新启动进程,直到通过使用Environment.Exit(-1)显式关闭应用程序完成初始化;每当发生错误

+0

为什么不处理*异常,而不是重新启动? –

+0

因此,例外情况是数据库不可操作(例如,在全局断电的情况下尚未启动) – mhtsbt

+0

发布*代码*而不是异常说明。处理它意味着修改你的代码,使它*不会崩溃应用程序并重试。没有'全球性'失败。只是你的'Startup()'方法抛出的异常。 –