0
我有VB.NET應用程序,有一個BackgroundWorker,使MySQL數據庫的操作;如果BGW崩潰,我想保存日誌並重新啓動應用程序;所以可以做這樣的事情嗎?可以從BackgroundWorker重新啓動應用程序嗎?
Catch ex As Exception
WriteRTBLog(ex.Message, Color.Red)
WriteRTBLog(ex.StackTrace, Color.DarkRed)
Application.Restart()
End Try
另外,如果我重新啓動應用程序FormClosing事件將會引發? 因爲我在使用該事件關閉之前保存日誌。
如果我用數據搞砸了,sql server炸了我,一味地試圖繼續似乎是我能做的最糟糕的事情。如果你不知道異常是什麼意思,並且你不知道如何恢復,那麼就會死亡。如果你能恢復,那就這樣做。重新啓動整個應用程序似乎是一種奇怪的恢復方式。 – Will
是的,FormClosing事件將被提出。如果此代碼位於DoWork事件處理程序中,則線程錯誤,這並不好。對於一個無意中看到應用程序不斷重啓並立即崩潰的應用程序,用戶無能爲力,只能重啓機器。或者對於那個重新開始的應用程序,並沒有說明爲什麼,如果有RTB,那麼它不再存在。很多理由不這樣做。 –
該應用程序獨立工作,沒人看;我需要應用程序自行恢復。該應用程序單獨運行一年沒有任何問題,但是當崩潰進入循環並且一直運行錯誤大約3天,直到有人注意到它;然後我手動關閉它,並再次工作好像什麼都沒有發生過。 –