2016-07-30 134 views
0

我的Windows機器目前有172個服務正在進行。但是,當我嘗試通過網絡(Asp.net c#)訪問我的Windows服務時,我只獲得143個服務。而且我的服務沒有列出。任何人請建議一種方式來運行我的服務從網絡?謝謝。從網絡訪問Windows服務

 string strServiceName = param; 
     string lblStatus = ""; 
     string Status = "Undefined"; 
     string strStatus = string.Empty; 
     System.ServiceProcess.ServiceController[] services = null; 
     try 
     { 
      strStatus = "Undefined"; 

      services = System.ServiceProcess.ServiceController.GetServices(); 
      for (int i = 0; i < services.Length; i++) 
      { 
       if (services[i].ServiceName == strServiceName) 
       { 
        strStatus = services[i].Status.ToString(); 
        Thread.Sleep(500); 
        break; 
       } 
      } 
     } 
     catch (Exception ex) 
     { 
      lblStatus = ex.Message.ToString(); 
     } 
     Status = strStatus; 
+1

返回的服務和服務的不同之處有哪些? – ChrisF

+0

您在列出的服務中找到哪種服務類型? –

回答

0

運行您的網站的帳戶沒有權限顯示這29個缺失服務的狀態。

您可以使用

sc.exe sdshow serviceName 

,以示對你的服務的安全描述符。如果您將描述符與您的代碼可以看到的一個服務進行比較,則應該看到差異。

你可以改變使用

sc.exe sdset serviceName ... 

的安全描述符,但您需要首先搞清楚的安全描述符的語言。