2016-07-30 138 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 ... 

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