0

C# で button_click 関数を作成しています。この関数では、executeCommand を使用してサービスと通信します。

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

ある時点でプログラムがクラッシュし、サービスが開始/停止保留中の状態にあるため、executecommand を呼び出すことができません。私は何をしますか?関数は同じ xml ファイルを書き込む必要があるため、サービスを停止/開始する必要があります。

4

1 に答える 1

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);
}
于 2013-11-08T15:57:07.003 に答える