我继承了一些代码,其中包含许多远程WMI调用。当我重复暂停执行并查看调用堆栈时,几乎总是在ManagementScope.Connect()
调用中。每个WQL查询似乎都会建立一个新的连接。
尽管进行了有限的试错尝试,但我尚未找到任何大的改进方法来提高WMI调用的性能。
我已经尝试过缓存之前的结果、重用连接,并避免使用可怕的"select *
"语句,但它们没有带来我想要的性能改进。我有兴趣了解环境对WMI性能的影响,但该代码需要在各种可能超出我的控制范围的环境中运行。
在.NET中面向性能的WMI访问中应该注意什么?