崩溃后重新启动ASP.NET Core App

时间:2017-06-01 13:40:46

标签: ubuntu asp.net-core

我是ASP.NET核心和学习的新手。 只是想知道在App崩溃后是否有办法重启我的应用程序?

或者这种情况处理不同吗?

无法找到任何关于此的文档,有人可以指出我正确的方向吗?

2 个答案:

答案 0 :(得分:2)

如果您将ASP.NET Core应用程序托管在用作IIS的反向代理的完整Web服务器后面,它将自动完成。 IIS将收到请求并将其传输到您的应用程序,(必要时)重新启动它。您可以查看这篇精彩的文章:https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS

相反,如果你只使用红隼(但它不适合生产),红隼会停下来,你的应用程序就不见了。

答案 1 :(得分:1)

ASP.NET Core应用作为Windows Service托管时,您可以将其配置为在服务流程终止时自动重启。

在您的代码中,只需执行Environment.Exit(1)即可终止该进程,然后让托管环境重新启动它。

如何在我不知道的其他环境中配置它,但我想大多数主机应该以某种方式配置它。 IIS可能已经完成了这一切。

但是,这仅适用于尚未完全终止您的进程的异常。请求线程上的异常通常不会使您的应用程序崩溃,但您可能希望将其删除并重新启动,可能是因为您的内存状态可能在异常后以未定义且可能危险的方式结束。