我有一個需要製作成服務的過程。這個過程現在自動運行,所以沒有用戶交互的問題,我只需要將它「變成」服務。我不得不考慮它,並決定我可以創建一個啓動流程的服務,這會給我帶來外部控制流程的額外好處。我可以觀察它的意外退出並重新啓動它。 。我也可以觀察它的內存使用情況,如果它失控,就可以殺死它。我不認爲我見過許多其他應用程序這樣做,我認爲必須有一個原因,爲什麼如此...這是一個壞主意/練習會遇到什麼問題
2
A
回答
2
這會增加複雜性。
現在您需要製作第二個可執行文件來「啓動並監控」這個過程,而不是僅僅存在過程。這增加了開銷(服務和進程都在運行),增加了複雜性,並且使整個生活變得更加困難。這就是說,如果你有一個.NET控制檯應用程序,把它變成一項服務是非常微不足道的。你的Main
例程基本上只是進入一個方法,並在一個線程中啓動。一旦你這樣做了,服務應用程序就會被有效地完成 - 它只是配置服務(可以在設計器中完成)並覆蓋OnStart
來啓動一個線程並調用你的例程。
1
這是一個好主意,但你已經徹底改變了方向。你在想什麼本質上是服務器監控。有幾種高質量的開源實現是你想要的。
0
幾乎所有你可以用這種方式做的事情,只要將應用程序邏輯放入服務中,你可以用較少的複雜性來完成。更不用說,您可以直接在服務中獲得Service Recovery。
相關問題
- 1. 這個練習塊有什麼問題?
- 2. 一個練習要求我改變循環的主體。這是什麼意思?
- 3. 這個C習語是什麼意思?
- 4. 學習python這個難題練習15
- 5. 這段C++代碼有什麼問題?我練習編程
- 6. (iphone)是一個壞主意?
- 7. 遇到問題確定什麼是錯在這個FAT
- 8. 遇到問題制定出什麼是錯的這個代碼
- 9. 個人定義FALSE和TRUE是一個壞主意?爲什麼?
- 10. STL練習問題
- 11. c#在簡單練習中遇到問題
- 12. Iphone:這是一個壞主意嗎?內存管理/泄漏問題
- 13. 這個羅馬數字練習中「amt」的含義是什麼?
- 14. 什麼是解決這個練習的更好方法?
- 15. ASP.NET和System.Diagnostics跟蹤 - 我錯過了什麼,或者這是一個壞主意?
- 16. 爲什麼有長的httpResponse超時是一個壞主意?
- 17. 爲什麼在Activity中註冊IabBroadcastReceiver是一個壞主意?
- 18. C - K&R練習2.4 - 爲什麼我會遇到巴士錯誤?
- 19. PHP練習題練習?
- 20. Linq,是select()。SingleorDefault()是一個壞主意?
- 21. 這個意圖有什麼問題?
- 22. 主要練習
- 23. 在學習Python時遇到一些麻煩練習方法48
- 24. 「刪除這個」是一個壞主意嗎?
- 25. 這個PHP代碼是一個壞主意嗎?
- 26. 什麼是一些很好的機器學習編程練習?
- 27. 這是什麼WordPress主題?
- 28. HTDP練習6.6.1 - 模板函數是什麼意思?
- 29. 冒險練習遇到困難
- 30. 在Hadoop練習期間遇到錯誤