我在.Net中使用System.Management命名空间来执行各种针对远程服务器的WMI查询。在我的日志中,有时可以看到查询需要30或40秒才能完成,而其他时候则可以在 less than a second 内完成。
当我遇到这些慢速查询时,我尝试使用wbemtest连接该框,并执行查询,但它总是能够快速连接和执行查询。
有任何想法、指针或建议吗?
我在反编译器 reflector 中查看 System.Management.ManagementScope时发现它似乎泄漏了一个 IWbemServices 指针。 看起来这是一个需要调用 RELEASE 的 COM 接口(Marshal.ReleaseComObject())。 我不确定是否相关。在进程的生命周期内,我确实连接到许多不同的服务器。
当我遇到这些慢速查询时,我尝试使用wbemtest连接该框,并执行查询,但它总是能够快速连接和执行查询。
有任何想法、指针或建议吗?
我在反编译器 reflector 中查看 System.Management.ManagementScope时发现它似乎泄漏了一个 IWbemServices 指针。 看起来这是一个需要调用 RELEASE 的 COM 接口(Marshal.ReleaseComObject())。 我不确定是否相关。在进程的生命周期内,我确实连接到许多不同的服务器。