服务启动之谜:超时(错误1053),随机,在计算机启动时

时间:2017-10-19 14:12:08

标签: c# .net windows-services

我有一个.Net Windows服务,它可以在数百台计算机上每天启动。

但同样的服务(并且随机)在其中4个上失败,在计算机启动时

  

错误1053:“服务没有及时回应”

我知道此错误可能是由长时间运行的服务初始化或初始化失败引起的。 但我已经做了一切,以确保它不是这样

  1. 启动后手动运行时,同一服务运行正常(并立即启动)
  2. 如果每个其他日志记录方法都失败,那么使用File.WriteAllText()作为回退捕获的服务初始化有一个很大的尝试/捕获...我没有看到除事件查看器中的“超时”之外的任何日志。
  3. 初始化(即服务ctor)什么都不做(没有网络呼叫,没有内存不存在)
  4. OnStart方法只是Task.Run(DoOnStart);
  5. 服务运行为LOCALSYSTEM
  6. 我已将我的服务配置为在进程失败的情况下被转储。到目前为止没有转储(SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\MyService.exe中的reg键)
  7. 我的Program类没有使用任何花哨类型,没有静态ctor,因此在运行Main之前不能抛出TypeInitializationException(无论如何都会产生转储)。
  8. ...没有日志,没有跟踪,没有转储,只是“超时”。仅在Windows启动时。就好像这个过程从未启动过一样。我有点想要进一步调查。

    是否有人知道这种情况,或者可以帮助我深入挖掘的线索?

    [edit] PS:请在标记为重复之前仔细阅读:)我已阅读过几十个问题,但这些问题都不符合我的问题。

    [编辑2] 我已经考虑过的唯一罪魁祸首是杀毒软件。防病毒是否有办法阻止服务启动? (但这是一个随机猜测,因为当我稍后启动它时,防病毒软件就好了,我无法找到任何AV活动的痕迹)

0 个答案:

没有答案