把某些功能直接寫成了 windows的服務,但服務老是崩潰,怎么讓該服務在崩潰后自動重啟
uj5u.com熱心網友回復:
肯定是例外崩了,例外加個行程啟動服務。
uj5u.com熱心網友回復:
你可以在試著捕捉一下全域例外,然后看是什么原因引起的,服務老奔潰概率這么高,應該是可以解決的uj5u.com熱心網友回復:
大神,例外加個行程啟動服務 這個怎么操作?
uj5u.com熱心網友回復:
首先,處理例外的崩潰問題,崩了就是你的不對了。其次,服務設定里面是有恢復設定的,可以在服務失敗的時候重啟服務或進行其他操作。
當然,還有種最憨憨的方法,你可以寫一個服務看這個服務掛了,哈哈哈哈。
uj5u.com熱心網友回復:
我的意思是這樣的,程式崩潰有可能是你的代碼有問題,try catch 例外捕捉一下做個提示,如果不想找原因,在例外里寫一個行程啟動程式,好像不太現實,崩潰后Process不執行了,放在最前又提示程式在運行中。 再加一個服務吧,catch直接給這個服務發一個通知,讓這個服務來重新啟動。
你不能找找什么原因導致崩了。
uj5u.com熱心網友回復:
首先,要從根本解決問題 就要找到 "崩潰"的原因..至少 不能讓他"總"崩潰.
其次,行程守護一般是一個不錯的解決方案..
實作原理就是在寫一個服務,定時監聽你這個服務行程..一旦發現停止了 然后自動啟動..
uj5u.com熱心網友回復:
治標不治本,你這個例外是沒被你自己捕捉到才導致了服務停止,你可以先去事件查看器里看看有沒有報錯記錄,或者你自己服務記錄運行日志、錯誤日志,執行到了哪一步他就出問題了,再進行針對的修改uj5u.com熱心網友回復:
肯定獲取值的時候,加上try catch ,比如獲取數據庫還有其他介面的還有其他硬體對接的uj5u.com熱心網友回復:
首先,要從根本解決問題 就要找到 "崩潰"的原因..至少 不能讓他"總"崩潰.
其次,行程守護一般是一個不錯的解決方案..
實作原理就是在寫一個服務,定時監聽你這個服務行程..一旦發現停止了 然后自動啟動..
uj5u.com熱心網友回復:
確實有些服務例外崩潰,比如原來的CS1.5服務端,這可是大神公司寫的我就加一個執行緒,做成一個exe監控這個服務還在不在?不在,就重啟動服務
----
以上是我的一個思路,你可以借鑒。
uj5u.com熱心網友回復:
這個問題的確有點意思www.ppthui.comuj5u.com熱心網友回復:
如果重啟能解決問題的話,加個守護行程肯定是好的。還有可以按計劃定時重啟。uj5u.com熱心網友回復:
決不能搞什么守護行程,重啟服務,找出錯,改掉bug,這是根本解決之路。就象try catch一樣,不是讓你用來忽略錯誤用的。也不要迷信什么大神,大神一樣會犯錯,就象go 1.13版的http模塊出了一個bug,你能相信google的大神居然也會犯低級錯誤嗎?一切以事實為準。uj5u.com熱心網友回復:
不考慮重啟服務,肯定是服務行程代碼的問題,重啟服務也枉然。再找代碼的原因。uj5u.com熱心網友回復:
修改 bug 跟守護服務,對成熟產品來說都非常重要,哪一個革命性的措施也不能學阿 Q 一樣來排斥。我們的大企業的服務運行4-5年也不需要維護,但是我們照樣必須用一個不到20行的windows service 來守護和拉起它。uj5u.com熱心網友回復:
修改 bug 跟守護服務,對成熟產品來說都非常重要,哪一個革命性的措施也不能學阿 Q 一樣來排斥。我們的大企業的服務運行4-5年也不需要維護,但是我們照樣必須用一個不到20行的windows service 來守護和拉起它。
哥,有些話不需要說太正確,你這么一說,他有90%的可能,就純搞一個守護的服務,至于bug,拋到九霄云外了,反正壞了重啟就行,有些業務重啟一下真的用戶不容易感覺出來,見過太多這樣的人,不逼一下怎么行。
uj5u.com熱心網友回復:
建議做個winfrom視窗程式,隱藏在任務欄上,系統服務有很問題,包括權限的問題,只要你做的winfrom不被別人關掉就可以了,然后再放在啟動項里,電腦重啟會自動運行。uj5u.com熱心網友回復:
windows服務,可以設定為關閉后自動重啟,不需要代碼,配置下就可以uj5u.com熱心網友回復:
重啟還是照樣會崩潰吧,還不如代碼捕捉例外除錯 找找崩潰的原因
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/21137.html
標籤:C#
上一篇:如何PPT中粘貼大段文字實作自動換頁,內容不要擠到幻燈片外面去了
下一篇:撲克牌發牌程式
