Lea*_*ner 2 .net c# performance wmi windows-services
我想获得Windows服务的路径,
var managementObjectSearcher = new ManagementObjectSearcher("Select * from Win32_Service where serviceName = MyService");
Run Code Online (Sandbox Code Playgroud)
这段代码是由其他一些服务的构造函数编写的......
当系统启动并运行时,一切正常,但是如果我重新启动系统,则为此调用设置StopWatch类,并显示它显示该服务因此调用而需要35-45秒才能启动.
任何提高系统重启性能的建议......
Windows32_Services类不存在,因此假设您正在使用Win32_ServiceWMI类,您可以提高性能,只返回您要使用的属性,在本例中为PathName,所以将您的WQL句子更改为
SELECT PathName FROM Win32_Service Where Name='MyService'
Run Code Online (Sandbox Code Playgroud)
UPDATE
对@Bacon的观察是非常正确的,因为您知道要检索的服务的名称,您可以构建Win32_Service的对象路径,它看起来像
Win32_Service.Name="ServiceName"
Run Code Online (Sandbox Code Playgroud)
然后使用ManagementObject该类,您可以以最快的方式将实例检索到服务.
| 归档时间: |
|
| 查看次数: |
1249 次 |
| 最近记录: |