系统启动/重新启动时 WMI 调用花费太多时间

2023-12-04

我想获取Windows服务的路径,

var managementObjectSearcher = new ManagementObjectSearcher("Select * from Win32_Service where serviceName = MyService");

这段代码是由其他一些服务的构造函数编写的......

当系统启动并运行时,一切工作正常,但如果我重新启动系统,为此调用放置 StopWatch 类,它显示由于此调用,服务需要 35-45 秒才能启动。

任何提高系统重新启动性能的建议......


Windows32_Services 类不存在,因此假设您正在使用Win32_ServiceWMI 类您可以只返回您想要使用的属性来提高性能,在本例中是PathName,所以将你的 WQL 语句更改为

SELECT PathName FROM Win32_Service Where Name='MyService'

UPDATE

观察结果是为了@Bacon非常正确,因为您知道要检索的服务的名称,所以您可以构建 Win32_Service 的对象路径,如下所示

Win32_Service.Name="ServiceName"

然后使用ManagementObject类,您可以以最快的方式将实例检索到服务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

系统启动/重新启动时 WMI 调用花费太多时间 的相关文章

随机推荐