项目代码如下
ServiceController service = new ServiceController("ModbusAgent"); service.Stop(); TimeSpan timeout = new TimeSpan(50000); service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
按照Stackoverflow:Time out has expired and the operation has not been completed in Service manager的说法,不要对其设置服务超时
于是代码改成:
ServiceController service = new ServiceController("ModbusAgent"); service.Stop(); service.WaitForStatus(ServiceControllerStatus.Stopped);
问题解决