[英]Service not showing in ServiceController but showing in Services and Registry table
我正在尝试获取C#中NetTcpActivator和NetPipeActivator服务的状态。
我使用以下代码列出了带有ServiceController的所有服务:
ServiceController[] services = ServiceController.GetServices();
foreach (ServiceController service in services)
{
string name = service.ServiceName;
string status = service.Status.ToString();
}
我进入了调试阶段,但从未看到这两个服务。
如果我在Windows中进入“服务”,则可以看到两个服务。 如果我进入注册表并查找SYSTEM \\ CurrentControlSet \\ services,我会看到NetTcpActivator和NetTcpPortSharing。 但是在注册表中,我看不到服务的状态。
知道为什么我看不到带有ServiceController的服务吗? 是否知道如果不在ServiceController中显示服务状态,该如何获取?
谢谢
我假设您出于调试目的而遍历所有服务,但是您可以使用简单的LINQ语句来获取所需的服务。
我能够做到这些并获得服务:
var netTcpActivatorService = ServiceController.GetServices().FirstOrDefault(s => s.ServiceName == "NetTcpActivator");
var netPipeActivatorService = ServiceController.GetServices().FirstOrDefault(s => s.ServiceName == "NetPipeActivator");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.