Service Management in C#.NET(C#.NET的服務管理員)

來源:互聯網
上載者:User

  這是我翻譯的第二篇文章,相對前一篇(Introducing ASP.NET 2.0 (ASP.NET 2.0 簡介) )而言自我感覺好了很多,但還有不足,在以後的翻譯中,還需改正.

C#.NET的服務管理員

 

作者:Sateesh Kumar  2006-5-31

譯者:Sparon  2006-5-31

 
這篇章將會交你如何建立Web應用程式來管理機器上的服務。

原文地址:http://www.c-sharpcorner.com/UploadFile/satisharveti/tocontrolservicesrunninginasystem05302006100035AM/tocontrolservicesrunninginasystem.aspx

 
大家知道有許多後台啟動並執行程式是不為我們所知的,我們可以通過開始菜單中的運行services.msc來查看這些服務.

我將說明如何建立一個Web應用程式來管理機器上的服務。這個程式允許我們查看我們電腦上所有的服務,並且可以運行、停止或暫停服務。它還可以查看所有服務的詳細資料,比如路徑、狀態。這個程式可以在VS.NET 2003中建立。

首先建立一個C#web應用程式。命名為ServiceMgmt

頁面如下:

在這個頁面中有4個超級連結、1個dropdownlist和7個labels 。

在解決方案管理器中添加System.Management關聯。

下一步:

 

將這些代碼添加到Page_Load事件中:

 

ManagementClass class1=new ManagementClass("Win32_Service");

foreach(ManagementObject ob in class1.GetInstances())

{

          ListItem item1=new ListItem();

          item1.Text =ob.GetPropertyValue("Name").ToString();

          item1.Value =ob.GetPropertyValue("Caption").ToString();

          DropDownList1.Items.Add(item1);

這段代碼將載入機器上的所有服務到ComboBox中。

繼續添加方法:

private void showstatus()

{

          int i=0;

          ManagementClass class1=new ManagementClass("Win32_Service");

          foreach(ManagementObject ob in class1.GetInstances())

          {

                   if(ob.GetPropertyValue("State").ToString()=="Running")

                   {

                             i++;

                   }

                   if(ob.GetPropertyValue("Name").ToString()==DropDownList1.SelectedItem.Text.ToString())

                   {

                             Label2.Text ="Description : " +ob.GetPropertyValue("Description");

                             Label3.Text ="PathName :   "+ob.GetPropertyValue("PathName");

                              Label4.Text ="ServiceType : " +ob.GetPropertyValue("ServiceType");

                             Label5.Text ="StartMode : "+ ob.GetPropertyValue("StartMode");

                             Label6.Text ="State : "+ob.GetPropertyValue("State");

                    }

          }

          Label7.Text =string.Empty;

          Label7.Text ="Total Number of Services Running : " +i;

}

這段代碼實現將你選擇的服務的詳細資料顯示出來。

繼續添加方法:


private void servicemgmt(string status)

{

          ManagementPath path=new ManagementPath();

          path.Server=System.Environment.MachineName;

          path.NamespacePath=@"root\CIMV2";

          path.RelativePath="Win32_service.Name='"+DropDownList1.SelectedItem.Text.ToString()+"'";

          ManagementObject service=new ManagementObject(path);

          ManagementBaseObject temp= service.InvokeMethod(status,null,null);

}

這段代碼實現運行、停止或暫停、繼續服務。

拷貝這段代碼到Start LinkButton_Click事件:

servicemgmt("StartService");
showstatus();

拷貝這段代碼到Stop LinkButton_Click事件:

servicemgmt("StopService");
showstatus();


拷貝這段代碼到Pause LinkButton_Click事件:

servicemgmt("PauseService");
showstatus();

拷貝這段代碼到Continue LinkButton_Click事件:

servicemgmt("ResumeService");
showstatus();

 

到此為止,我們就可以通過IE控制我們機器上的服務了。

我希望這段代碼對大家有協助. 最後的結果會是這樣的:

全文代碼下載:ServiceMgmt.rar

附:wmiopennotepad.rar

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.