Ich verwende den System.Management-Namespace in einem .Net, um verschiedene WMI-Abfragen für einen Remote-Server auszuführen. In meinen Protokollen kann ich sehen, dass die Abfragen manchmal 30 oder 40 Sekunden dauern, während andere Abfragen in weniger als einer Sekunde abgeschlossen sind.Warum sind WMI-Abfragen manchmal so langsam?
Wenn ich diese langsamen Abfragen sehe, versuche ich, eine Verbindung mit der Box mit wbemtest herzustellen, aber es verbindet immer und führt die Abfrage schnell aus.
Irgendwelche Ideen, Hinweise, Vorschläge?
Ich habe bei der Betrachtung von System.Management.ManagementScope im Reflector festgestellt, dass es einen IWbemServices-Zeiger zu verlieren scheint. Es sieht so aus, als ob es sich um eine COM-Schnittstelle handelt, für die Release aufgerufen werden muss (Marshal.ReleaseComObject()). Ich bin mir nicht sicher, ob das verwandt ist oder nicht. Ich verbinde mich während des Prozesses mit vielen verschiedenen Servern.
Leider glaube ich, dass Sie Recht haben. Ich muss nur um das Problem herum arbeiten. Die Einstellung ReturnImmediately half ein wenig, aber nicht genug, um das Problem zu lösen. –