10 Kasım 2010 Çarşamba

Performance Counter "Bytes Sent/sec , Bytes Received/sec , Get Requests/sec" counter 'ları 0 değer üretiyor ise


Sorun : Performance Counter ile web service kategorisindeki "Bytes Sent/sec" , "Bytes Received/sec" , "Get Requests/sec" Counter isimlerinin değerleri alınmak istendiğinde 0 değer üretiyor ise..

Çözüm : Bu değerler ilk istendiğinde 0 değer üretebiliyor.Bunu bir döngüyle yaklaşık 10 kez çağırmayı denerseniz ve tabi bu döngüde çağırmadan önce System.Threading.Thread.Sleep(2) değerini de vermeyi unutmayalım çünkü yapılan istek normal bir for döngüsünde aynı anda yapılmış gibi oluyor.En azından araya 1-2 mili saniye bekleme koyarsak isteği farklı zamanlarda yapmış oluyoruz.
Örnek Kod :
PerformanceCounter perCounter = new PerformanceCounter("Web Service", "Bytes Sent/sec", "_Total");
float nextValue=perCounter.NextValue();
if(nextValue<1) i =" 0;"> 0)//Eğer deneme sonucunda değer alınmışsa döngüye son veriliyor
break;
//2 milisaniye bekleme
System.Threading.Thread.Sleep(2);
//Bytes Sent/sec ,değeri alınıyor.
nextValue = perCounter.NextValue();

}//End Foreach

}//End If

Umarım faydalı olmuştur.:)
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.