2011-05-11 115 views
0

我想重新啓動我的本地計算機上運行的一組windows服務。 我想重新啓動所有這些服務一次,當我點擊我的asp.net應用程序中的按鈕?如何從asp.net web應用程序啓動多個windows服務?

如果有人能幫助我,我將不勝感激。

截至目前,我可以通過使用 服務控制器類來實現重新啓動單個Windows服務的場景。

+1

將當前實現放入循環中出現了什麼問題? – ScottTx 2011-05-11 18:40:27

回答

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 2011-05-11 19:03:41

+0

因此,我認爲您已經和/或知道如何編寫批處理文件,而您只是想從您的Web應用程序調用它? – 2011-05-11 19:05:04

+0

是的,我已經準備好了批處理文件...我需要知道如何在Web應用程序中調用? – Macnique 2011-05-11 19:06:12

相關問題