0
我需要把一些代码来重新启动我的Windows服务时面临的一个严重错误(重大事件)Windows服务 - 重新启动?
我有这个功能
public Boolean 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);
int millisec2 = Environment.TickCount;
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, timeout);
if (service.Status != ServiceControllerStatus.Running)
{
return false;
}
}
catch (System.ServiceProcess.TimeoutException ex)
{
return false;
}
return true;
}
的事情是,这显然不是一件好事,因为虽然它停止...它不能再次开始:)
有没有办法重新构建它可以“记住”启动自己?
Thanx!
谢谢Thorsten!但是我应该在哪里放置Environment.Exit(1);码? – PanosPlat
那么,在你的代码的什么时候你打算调用你的非功能'RestartService'方法?那里! :-)你也可以用'Environment.Exit(1)'替换'RestartService'方法的内容,并从方法声明中删除参数。如果您没有发现允许您重新启动服务的异常,它仍然可以正常工作,因为在这种情况下服务会意外停止,系统也会因为第一个配置步骤而重新启动服务。 –