我有一个需要制作成服务的过程。这个过程现在自动运行,所以没有用户交互的问题,我只需要将它“变成”服务。我不得不考虑它,并决定我可以创建一个启动流程的服务,这会给我带来外部控制流程的额外好处。我可以观察它的意外退出并重新启动它。 。我也可以观察它的内存使用情况,如果它失控,就可以杀死它。我不认为我见过许多其他应用程序这样做,我认为必须有一个原因,为什么如此...这是一个坏主意/练习会遇到什么问题
2
A
回答
2
这会增加复杂性。
现在您需要制作第二个可执行文件来“启动并监控”这个过程,而不是仅仅存在过程。这增加了开销(服务和进程都在运行),增加了复杂性,并且使整个生活变得更加困难。这就是说,如果你有一个.NET控制台应用程序,把它变成一项服务是非常微不足道的。你的Main
例程基本上只是进入一个方法,并在一个线程中启动。一旦你这样做了,服务应用程序就会被有效地完成 - 它只是配置服务(可以在设计器中完成)并覆盖OnStart
来启动一个线程并调用你的例程。
1
这是一个好主意,但你已经彻底改变了方向。你在想什么本质上是服务器监控。有几种高质量的开源实现是你想要的。
0
几乎所有你可以用这种方式做的事情,只要将应用程序逻辑放入服务中,你可以用较少的复杂性来完成。更不用说,您可以直接在服务中获得Service Recovery。
相关问题
- 1. 一个练习要求我改变循环的主体。这是什么意思?
- 2. 这个C习语是什么意思?
- 3. (iphone)是一个坏主意?
- 4. 学习python这个难题练习15
- 5. 这段C++代码有什么问题?我练习编程
- 6. 遇到问题制定出什么是错的这个代码
- 7. 个人定义FALSE和TRUE是一个坏主意?为什么?
- 8. c#在简单练习中遇到问题
- 9. STL练习问题
- 10. Iphone:这是一个坏主意吗?内存管理/泄漏问题
- 11. ASP.NET和System.Diagnostics跟踪 - 我错过了什么,或者这是一个坏主意?
- 12. 这个罗马数字练习中“amt”的含义是什么?
- 13. 什么是解决这个练习的更好方法?
- 14. Linq,是select()。SingleorDefault()是一个坏主意?
- 15. PHP练习题练习?
- 16. 这个意图有什么问题?
- 17. 主要练习
- 18. “删除这个”是一个坏主意吗?
- 19. 这个PHP代码是一个坏主意吗?
- 20. 这是什么WordPress主题?
- 21. 什么是一些很好的机器学习编程练习?
- 22. 什么时候这个锁再锁再重构一个坏主意?
- 23. 冒险练习遇到困难
- 24. 为什么将wget或卷曲到壳体是一个坏主意?
- 25. HTDP练习6.6.1 - 模板函数是什么意思?
- 26. 这两个问号是什么意思?
- 27. 匿名类是一个坏主意吗?
- 28. 是SerializableWrappers收集一个坏主意?
- 29. 捕获OutOfMemoryError是一个坏主意吗?
- 30. -fPIC总是在一个坏主意?