0
A
回答
2
如果您將ASP.NET Core應用程序託管在作爲IIS的反向代理使用的完整Web服務器之後,它將自動完成。 IIS將收到一個請求並將其發送給您的應用程序,如有必要,請重新啓動它。相反,如果你只是使用Kestrel(但它不適合真正的生產),Kestrel會停下來,就是這樣,你的應用程序就不存在了。你可以檢查偉大的文章:https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS
1
當您將ASP.NET Core
應用程序作爲Windows Service
託管時,可以將其配置爲在服務進程終止時自動重新啓動。
在您的代碼中,只需執行Environment.Exit(1)
來終止進程,然後讓託管環境重新啓動它。
這是如何配置在其他環境我不知道,但我想大多數主機應該有某種方式可配置。 IIS可能已經做好了準備。
但是,這隻適用於沒有全部殺死您的進程的異常。請求線程上的異常通常不會導致應用程序崩潰,但是您可能需要關閉它並重新啓動,或許您的內存狀態可能以異常後的未定義且可能危險的方式結束。
相關問題
- 1. 應用程序在手動kill後重新啓動時崩潰
- 2. 如何在崩潰後重新啓動qt應用程序?
- 3. Android應用程序崩潰後重新啓動
- 4. 應用程序在啓動後崩潰
- 5. 崩潰後啓動應用程序
- 6. 應用程序在啓動後崩潰
- 7. 啓動後Android應用程序崩潰
- 8. 啓動後MFC應用程序崩潰
- 9. 啓動後Android應用程序崩潰
- 10. 重新啓動代理程序崩潰
- 11. 應用程序在重新啓動活動時崩潰
- 12. 以編程方式重新啓動應用程序崩潰
- 13. 控制檯應用程序從ASP.NET Webform啓動後崩潰
- 14. 開啓核心/崩潰轉儲編程
- 15. 檢測並重新啓動崩潰的.NET應用程序
- 16. Android應用程序崩潰時重新啓動
- 17. Web應用程序重新啓動jni崩潰?
- 18. 應用程序在手機的重新啓動時崩潰
- 19. 在崩潰時重新啓動應用程序
- 20. 應用程序重新啓動太快時崩潰
- 21. Android應用程序在重新啓動前崩潰
- 22. 當它崩潰時重新啓動Silverlight應用程序?
- 23. 快速退出時應用程序崩潰+重新啓動
- 24. 核心數據實用程序崩潰
- 25. 以編程方式崩潰後重新啓動應用程序 - Android
- 26. 啓動後啓動服務時,應用程序崩潰
- 27. Android:應用程序崩潰應用程序重新啓動Facebook登錄
- 28. 由於核心數據故障導致啓動時應用程序崩潰
- 29. WPF啓動時應用程序崩潰
- 30. 應用程序在啓動時崩潰。
感謝您的回答。我在Ubuntu 16.10服務器上使用Apache。 –
我在Windows下使用IIS,但邏輯應該是一樣的,完整的Web服務器(在您的情況下,Apache)應該充當反向代理並處理您的應用程序,並在必要時重新啓動它。我在理論上說,雖然我沒有嘗試,所以如果有人有更多的意見,可能會很有趣。 – Daboul
也許這可能有幫助? https://docs.microsoft.com/en-us/aspnet/core/publishing/apache-proxy(請參閱行重新啓動=總是 RestartSec = 10#如果dotnet服務崩潰,10秒後重新啓動服務) – Daboul