我有一个服务器进程,它会频繁地向多台 PC 发送 WMI 查询。通常情况下,它工作正常,从每台 PC 获取结果大约需要 1 秒钟。当访问 PC 时出现问题时,例如:用户将 PC 带回家并使用 VPN - 错误返回可能需要长达 60 秒的时间。
有没有办法让 WMI 调用“快速失败”并且不会在随机的长时间间隔内挂起我的显示进程?我不想通过先对每台 PC 执行 Ping 来为所有请求增加 1 秒。我不是在寻求帮助为什么调用失败 - 我不在乎为什么。我只希望它总是均匀地快速。
我进行了广泛的搜索,似乎没有像“是否有用户登录到此 PC“它不使用 WMI。这样的事存在吗?还是所有的鸡蛋都放在 WMI/RPC 篮子里?
我认为问题在于,当 PC 交替在工作场所(有线)直接连接,然后在家中通过 VPN 连接时,DNS 记录会滞后,并且 WMI 调用会转到不再有效的 IP。(我在 WMI 调用之前添加了 Ping 测试,这不会明显减慢进程,但可以避免挂起错误。)这可能是原因吗?有没有办法修改连接选项以表示:“不要太努力”?这似乎是解决方案,但我不明白连接和枚举结果的非常令人困惑的选项。这是由于 TCP 级别问题吗?Ping 只是一个 UDP 数据包,因此如果没有路由,它会立即失败。对 WMI 调用有什么想法吗?