我今天想通过WMI来做一些windows系统上的一些相关操作。结果发现所有的操作中,使用到WMI的地方占用了绝大部分时间。不管是用
ManagementObject moService = new ManagementObject(@"\\.\root\cimv2:Win32_Service.Name='xxx'");
还是用
ManagementObjectSearcher moQuery = new ManagementObjectSearcher(@"root\cimv2",@"Select * from Win32_Service where Name = 'xxx'")
foreach (ManagementObject moService in moQuery.Get())
{
        //具体操作....
}
只要多使用到某一个类,就会多出很多时间,不过一旦使用到这个类后,后面对这个类的操作似乎就不特别占时间了。
同样的操作如果我用ADSI来做的话,用到的时间可能只有十分之一或者更少。
请问是我的使用方法有问题,还是用WMI本身就这么慢呢。