我很多天前做了一个服务(WinServiceProject),我希望这个开始自动但是有一个延迟时间...我找到了一个解决方案,但这无法帮助我:http://support.microsoft.com/kb/193888/en-us
我在HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ WinServiceProject中修改了regedit,但这不起作用。
我添加了多字符串值(DependOnService)并在之前设置了许多服务......这可行,但不喜欢我想要的。
解决方案我需要它的时间,设置很多时间并在此之后执行服务。如果我需要为我的服务添加代码,我会这样做。
感谢。
答案 0 :(得分:0)
我用这段代码解决了问题!!
public static void RestartService(string serviceName,int timeoutMilliseconds)
{
ServiceController service = new ServiceController(serviceName);
try
{
int millisec1 = Environment.TickCount;
TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
service.Stop();
service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
// count the rest of the timeout
//int millisec2 = Environment.TickCount;
timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds - millisec1);
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, timeout);
}
catch
{
// ...
}
}