PerformanceCounter.NextValue se bloque sur certaines machines

Je ne sais pas pourquoi, mais de nombreux ordinateurs se bloquent après l’opération:

void Init() { net1 = new List(); net2 = new List(); foreach (ssortingng instance in new PerformanceCounterCategory("Network Interface").GetInstanceNames()) { net1.Add(new PerformanceCounter("Network Interface", "Bytes Received/sec", instance)); net2.Add(new PerformanceCounter("Network Interface", "Bytes Sent/sec", instance)); } } //Once in 1 second void UpdateStats() { Status.Text = ""; for (int i = 0; i < net1.Count; i++) Status.Text += string.Format("{0}/{1} Kb/sec; ", net1[i].NextValue() / 1024, net2[i].NextValue() / 1024); } 

Sur certains calculs, le programme se bloque complètement au premier appel de UpdateStats() , d’autres subissent une charge de 100% du processeur mais le programme fonctionne (lentement). D’autres compteurs comme le new PerformanceCounter("Processor", "% Processor Time", "_Total") semblent fonctionner new PerformanceCounter("Processor", "% Processor Time", "_Total") .

Pourquoi suggérer cela?

La suppression des références d’imprimante a permis d’éviter un blocage de la première

  new PerformanceCounter("Processor", "% Processor Time", "_Total"). 

Maintenant, nous obtenons un nouveau message d’erreur au lieu de bloquer afin de pouvoir le tracer. De:

Réponse sur les pilotes d’imprimante

Nous avions deux ordinateurs portables Dell similaires (un plus récent), à la fois sous Windows 8, MVSV 2013 et IIS Express 8. L’un accrocherait, l’autre non.