Tengo una consulta de WMI, utilizando ManagementObjectSearcher.WMI ManagementObjectSearcher colgando de consulta
Por lo general, esto funciona bien, pero en algunas máquinas, que está colgando/no volver nunca. Intenté configurar un tiempo de espera en la consulta, pero parece no hacer diferencia.
Este es mi código:
using (var query = new ManagementObjectSearcher("SELECT IDProcess, PercentProcessorTime, WorkingSet FROM Win32_PerfFormattedData_PerfProc_Process"))
{
try
{
query.Options.Timeout = new TimeSpan(0, 0, 10);
query.Options.ReturnImmediately = false;
Log.Info("Query built");
foreach (ManagementObject obj in query.Get())
{
using (obj)
{
var key = (uint)obj.GetPropertyValue("IDProcess");
Log.Info(key);
processStats[key] = new ulong[] { (ulong)obj.GetPropertyValue("PercentProcessorTime"), (ulong)obj.GetPropertyValue("WorkingSet") };
}
}
}
}
En mi registro, veo "construcción de búsqueda", y luego nada y el programa deja de responder.
que he probado con y sin el ajuste de tiempo de espera manual.