如果虚拟服务器从取消配置状态启动,Windows 服务将无法自动启动

如果虚拟服务器从取消配置状态启动,Windows 服务将无法自动启动

我有一个在 Azure 托管虚拟机上运行的服务器应用程序。此应用程序由四个 Windows 服务组成。

每天晚上我都会关闭(取消配置)虚拟机。

当我重启机器时,四个服务中有一个无法启动。通常是同一个。

如果我重新启动机器,所有四个服务都会启动。如果我停止机器(保持其配置状态)然后重新启动它,所有四个服务都会启动。只有当机器从取消配置的启动状态启动时,服务才会启动失败。

我查看事件日志,发现以下错误:

等待服务连接时超时(30000 毫秒)

我已经尝试配置恢复服务的选项,以便在失败后重新启动服务,使用启用发生错误的停止操作:勾选。此操作无效。

我的服务代码是一个 .NET 应用程序。我实现了日志记录,并使其在启动时立即记录到文件中。当它无法启动时,不会写入任何日志条目。就好像应用程序完全无法加载一样。

有没有推荐的方法来解决此问题?(即诊断根本原因并阻止其发生)。

答案1

将服务的启动类型设置为“自动(延迟启动)”。由于服务运行 .Net,并且在 30 秒超时内没有记录任何内容,这清楚地表明 .Net 程序集未及时加载(冷启动)。不幸的是,您无法控制这一点,所以最好的办法是延迟其启动。对我来说总是有效的!

相关内容