我继承了进行大量远程 WMI 调用的代码。当我反复暂停执行并查看调用堆栈时,它几乎总是在ManagementScope.Connect()
调用中。每个 WQL 查询似乎都建立了一个新连接。
尽管尝试和错误有限,但我在提高 WMI 调用的性能方面还没有发现任何重大胜利。
我已经尝试缓存以前的结果,重用连接,并避免可怕的“ select *
”。这些并没有给我想要的性能改进。我有兴趣了解环境对 WMI 性能的影响,但代码需要在可能超出我控制范围的各种环境中运行。
如果有的话,.NET 中面向性能的 WMI 访问的注意事项是什么?