执行命令崩溃启动挂起状态c#

时间:2013-11-08 15:48:28

标签: c# servicecontroller

我正在c#中编写一个button_click函数,我在其中使用executeCommand与服务进行通信。

ServiceController sc = new ServiceController("MyService");
int command = 145;
sc.Stop();
//writing xml file
sc.Start();
sc.ExecuteCommand(command);

在某些时候程序崩溃,无法调用executecommand,因为该服务处于启动/停止挂起状态。我该怎么办? 我需要停止/启动服务,因为该函数必须写入相同的xml文件。

1 个答案:

答案 0 :(得分:0)

添加try-catch-finally块,查看是否存在导致服务崩溃的异常。

try{
     ServiceController sc = new ServiceController("MyService");
     int command = 145;
     sc.Stop();
     //writing xml file
     sc.Start();
}
catch(Exception ex)
{
     throw ex;
}
finally{
     sc.ExecuteCommand(command);
}