2011-05-11 5 views
0

私はを再起動します私のローカルコンピュータで実行されている一連のWindowsサービス。 私はを再起動私は私のasp.netアプリケーションのボタンをクリックするとこれらのすべてのサービスを一度に?asp.net Webアプリケーションから複数のWindowsサービスを開始するには?

誰かが私を助けることができれば幸いです。

今のところ、 サービスコントローラークラスを使用して、単一のWindowsサービスを再起動するシナリオを実装することができます。

+1

現在の実装をループに入れて何が問題になっていますか? – ScottTx

答えて

2

各サービス名を繰り返しループするだけです。サービス名ごとにServiceControllerを作成し、そこから再起動します。

List<string> serviceList = //however you get all of the services you want to start, put them in here. 

foreach(string serviceName in serviceList) 
{ 
    ServiceController controller = new ServiceController(serviceName); 
    .... 

    controller.Restart(); 
} 

バッチファイルの使用を使用するには:

System.Diagnostics.Process.Start(pathToBatchFile); 

あなたはインテリセンスと少しの好奇心を使用してプロセスを管理することができます。また、ここに私があなたのために見つけたmsdnの記事があります。

http://blogs.msdn.com/b/csharpfaq/archive/2004/06/01/146375.aspx

コマンドプロンプトを非表示にし、プロセスをより細かく制御を有する、System.Diagnostics.ProcessStartInfoクラスを使用してProcess.Startメソッドにそのオブジェクトを渡します。プログラム内のバッチファイルから出力をキャッチすることもできます。

+0

私はバッチファイルを作成する行で考えて、アプリケーションからバッチファイルを呼び出しますか?しかし、私はどのようにasp.net/c#アプリケーションからバッチファイルを呼び出すかわからない... – Macnique

+0

私はあなたが既に持っていると仮定し、バッチファイルを書く方法を知っているだけであなたのWebアプリケーションからそれを呼び出したいですか? –

+0

はい、すでにバッチファイルが用意されています...私はどのようにWebアプリケーションを呼び出すかを知る必要がありますか? – Macnique

関連する問題