最近在做的项目中,有一个功能,需要重启N个服务。但是ServiceController只提供stop和start 方法,所以只能按顺序来操作。但是问题在于,N个服务重启,需要等待时间。解决方法是
ServiceController scISIServer
=
new
ServiceController(
"
Test
"
);
TimeSpan ts
=
TimeSpan.FromSeconds(
10
);
scISIServer.Stop();
scISIServer.WaitForStatus(ServiceControllerStatus.Stopped, ts);
这样,等原来的服务有稍微充足的时间去执行,再执行下一个操作,程序就不会报错了。
http://www.codeproject.com/KB/cs/svcmgr.aspx




这样,等原来的服务有稍微充足的时间去执行,再执行下一个操作,程序就不会报错了。
http://www.codeproject.com/KB/cs/svcmgr.aspx