7
A
回答
4
并非严格如此 - 只会在异常未处理时导致问题。
4
如果该异常未被捕获,并且气泡备份到OnStart()方法,则会使服务崩溃。你通常会看到在Windows事件日志类似于以下的消息:
“的服务名服务意外终止它已完成此x时间(s)
2
如果你在抛出异常。如果你不想在发生异常时停止这个服务,那么你需要为你的服务提供一个服务。OnStart()方法需要一个try/catch。处理它(记录它,继续前进,或者其他)
我的首选项是处理预期的异常,并且有意外的异常导致服务停止或至少自动停止/重启。意外的事情发生,你的服务将以未知的状态运行,谁知道它会做什么。
3
我们遇到了子线程上未处理异常的问题,导致服务停止,但未提供任何有关导致异常的信息。我们使用这种方法来找出异常的来源。
您可以将一个Handler放入该服务,以捕获所有未处理的异常(包括该服务的所有子线程)。在VB.NET中,您将需要为AppDomain.CurrentDomain.UnhandledException添加一个处理程序。它可能类似于C#。然后它会捕获任何通过onStart冒出的东西。您可以选择在那里使用它,或允许它从那里崩溃服务。
相关问题
- 1. 命名管道在Windows服务中抛出异常
- 2. 在WCF服务抛出异常抛出一个
- 3. 向wcf服务抛出异常
- 4. Restful web服务抛出servlet.init()异常
- 5. 春天web服务抛出异常
- 6. Web服务类抛出异常
- 7. Windows服务异常
- 8. 魔术异常抛出抛出异常
- 9. Grails - 为什么在控制器中抛出的异常暂停执行,但在服务中抛出异常呢
- 10. 在C++中抛出异常异常
- 11. 在Java中抛出异常
- 12. 在pimcore中抛出异常
- 13. Web服务在POST请求中抛出错误/异常
- 14. Ldap gem在Rails中抛出与服务器异常的连接
- 15. 异常抛出异常
- 16. 抛出异常
- 17. 抛出异常
- 18. 抛出异常
- 19. 异常抛出
- 20. 在TFS服务器上抛出的单元测试异常
- 21. System.Diagnostics.Process.Start在服务器上抛出threadbort异常
- 22. 如何重新抛出SQL服务器中的相同异常
- 23. 如何从Dart的服务器API代码中抛出异常?
- 24. 在Windows服务中进行SSL连接时出现异常
- 25. 在Windows服务中查找堆栈溢出异常
- 26. JSON在android抛出异常
- 27. 异常在0x71002A85(SDL2_ttf.dll)抛出
- 28. 抛出异常: 'System.IO.FileNotFoundException' 在Prism.Wpf.dll
- 29. sql正在抛出异常
- 30. 抛出异常:“System.ApplicationException”在renderdocui.exe
我已经包装了在try/catch中计时器运行时运行的整个方法,但没有得到任何错误,但我的服务正在干扰! – Blankman 2009-01-02 19:42:44
“干扰”是什么意思? – bobwienholt 2009-01-02 19:45:39