2

.NET では、このクラスを使用して、メソッドServiceControllerを使用してサービスにカスタム コマンドを送信できます。ExecuteCommand

サービスのステータスを照会できるようにしたいと考えています (「開始/停止」の種類ではなく、ステータスのカスタム概念)。ExecuteCommand似たようなものを使用してサービスを呼び出し、ステータスを示す戻り値を取得するのは簡単だと思っていました。これを可能にするものはありServiceControllerますか?

そうでないと仮定すると、ある種の外部プロセス間通信技術を使用する必要があると思います (たとえば、サービスはそのステータスをデータベースまたはメッセージ キューに書き込みます)。シンプルにするために何をお勧めしますか?

4

2 に答える 2

1

確かに道はありませんServiceController。おそらく最良の選択肢としてWCFを残します。チュートリアルはこちら: http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication

于 2013-01-24T09:52:54.670 に答える
0

Windows offers many means of inter process communication (IPC). @David is right, ServiceControllers cannot perform this action, and he was good to point you to WCF, its a foundation that comes readymade with IPC capabilities. Using IPC you could coordinate your service and your application after an ExecuteCommand call.

If your not looking to go as far as WCF you could implement a pipe (anonymous pipe seems right for this case) or use windows sockets.

Check out this link from MSDN on IPC, it's a great trailhead for the multiple avenues you could take.

于 2015-07-30T23:04:36.073 に答える