【发布时间】:2014-03-28 10:51:28
【问题描述】:
我在很多天前创建了一项服务 (WinServiceProject),我希望它自动启动,但有一个延迟时间...我找到了一个解决方案,但这对我没有帮助:http://support.microsoft.com/kb/193888/en-us
我在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinServiceProject 修改了注册表,但这不起作用。
我之前添加了多字符串值 (DependOnService) 并设置了许多服务...这可行,但不喜欢我想要的。
随着时间的推移,我需要它的解决方案,设置很多时间并在此时间之后执行服务。如果我需要在我的服务中添加代码,我会这样做。
谢谢。
【问题讨论】:
-
虽然不理想,但您可以考虑在服务代码中插入延迟,以防止其运行 n 秒。它需要在主服务线程上,而不是在调用
OnStart()的线程上,否则可能看起来服务没有成功启动。 -
Martin Parkin - 是的,我认为解决方案可能是在服务中添加一个代码,在该服务中我停止服务并设置“x”时间重新启动......制作重启功能。
-
@ManuelFdz,根据您的回复,我想知道您是否需要该服务继续每“x”分钟执行一次操作。对吗?
-
@AWinkle,不,我的服务只运行一次并向 SQL 发送一些数据......但我需要等待很多时间才能启动。
-
Thread.Sleep([你的时间以毫秒为单位]);
标签: c# windows service windows-server-2003 windows-xp-sp3