我正在c#中编写一个button_click函数,我在其中使用executeCommand与服务进行通信。
ServiceController sc = new ServiceController("MyService");
int command = 145;
sc.Stop();
//writing xml file
sc.Start();
sc.ExecuteCommand(command);
在某些时候程序崩溃,无法调用executecommand,因为该服务处于启动/停止挂起状态。我该怎么办? 我需要停止/启动服务,因为该函数必须写入相同的xml文件。
答案 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);
}