我有一个用C#.NET开发的Windows服务。它安装在与Elastic Beanstalk实例关联的AWS EC2实例上。
当我安装服务并启动时,其OnStart事件调用成功,我甚至尝试重启服务器,这次也成功调用了Windows服务的OnStart事件。问题是当负载均衡器创建新的EC2实例时(因为先前的实例已经关闭),我的服务也开始了,但是没有调用OnStart事件。
我确信没有调用OnStart,因为在调用OnStart事件后我没有得到应该存在的预期结果。
如果您有任何想法,请提供帮助。
答案 0 :(得分:0)
您是否已将服务配置为在Windows服务中自动启动?
答案 1 :(得分:0)
我遇到类似的情况,即引导EC2实例时,配置为自动启动的Windows服务无法启动。随后,可以手动启动该服务。
然后我发现Windows 2012 EC2实例具有a Windows service Ec2Config(*),该实例在启动时执行一些重要的操作,例如挂载EBS卷和分配驱动器号。
我将我的服务配置为对Ec2Config具有依赖性,从那时起,它似乎运行良好。
(*)在Windows 2016中名称已更改为Ec2Launch。