PerformanceCounter.NextSample Yöntem

Tanım

Bir sayaç örneği alır ve bunun ham veya hesaplanmamış değerini döndürür.

public:
 System::Diagnostics::CounterSample NextSample();
public System.Diagnostics.CounterSample NextSample ();
member this.NextSample : unit -> System.Diagnostics.CounterSample
Public Function NextSample () As CounterSample

Döndürülenler

CounterSample

CounterSample Sistemin bu sayaç için aldığı bir sonraki ham değeri temsil eden.

Özel durumlar

Örnek, bir performans sayacıyla doğru şekilde ilişkilendirilmemiş.

-veya- InstanceLifetime Genel paylaşılan bellek kullanılırken özelliği olarak Process ayarlanır.

Sistem API'lerine erişilirken bir hata oluştu.

Yönetici ayrıcalıkları olmadan yürütülen kod bir performans sayacını okumaya çalıştı.

Örnekler

Aşağıdaki kod örneği, bir sayacın NextSample bir sonraki hesaplanmamış değerini almak için yönteminin nasıl kullanılacağını gösterir. Bu kod örneği, sınıfı için PerformanceCounter daha büyük bir örneğin parçasıdır.

void CollectSamples( ArrayList^ samplesList, PerformanceCounter^ PC, PerformanceCounter^ BPC )
{
   Random^ r = gcnew Random( DateTime::Now.Millisecond );

   // Loop for the samples.
   for ( int j = 0; j < 100; j++ )
   {
      int value = r->Next( 1, 10 );
      Console::Write( "{0} = {1}", j, value );
      PC->IncrementBy( value );
      BPC->Increment();
      if ( (j % 10) == 9 )
      {
         OutputSample( PC->NextSample() );
         samplesList->Add( PC->NextSample() );
      }
      else
            Console::WriteLine();
      System::Threading::Thread::Sleep( 50 );
   }
}
private static void CollectSamples(ArrayList samplesList)
{

    Random r = new Random( DateTime.Now.Millisecond );

    // Loop for the samples.
    for (int j = 0; j < 100; j++)
    {

        int value = r.Next(1, 10);
        Console.Write(j + " = " + value);

        avgCounter64Sample.IncrementBy(value);

        avgCounter64SampleBase.Increment();

        if ((j % 10) == 9)
        {
            OutputSample(avgCounter64Sample.NextSample());
            samplesList.Add( avgCounter64Sample.NextSample() );
        }
        else
        {
            Console.WriteLine();
        }

        System.Threading.Thread.Sleep(50);
    }
}
Private Shared Sub CollectSamples(ByVal samplesList As ArrayList)

    Dim r As New Random(DateTime.Now.Millisecond)

    ' Loop for the samples.
    Dim j As Integer
    For j = 0 To 99

        Dim value As Integer = r.Next(1, 10)
        Console.Write(j.ToString() + " = " + value.ToString())

        avgCounter64Sample.IncrementBy(value)

        avgCounter64SampleBase.Increment()

        If j Mod 10 = 9 Then
            OutputSample(avgCounter64Sample.NextSample())
            samplesList.Add(avgCounter64Sample.NextSample())
        Else
            Console.WriteLine()
        End If
        System.Threading.Thread.Sleep(50)
    Next j
End Sub

Açıklamalar

Bu yöntem genellikle hesaplanmamış değerler içeren sayaçlar için kullanılır.

Not

Özelliğin InstanceLifetime değeri ise Process ve performans sayacı kategorisi .NET Framework sürüm 1.0 veya 1.1 ile oluşturulduysa, bir InvalidOperationException oluşturulur. Önceki sürümlerle oluşturulan performans sayacı kategorileri genel paylaşılan bellek kullanır ve değerinin InstanceLifetime olması Globalgerekir. Kategori, .NET Framework 1.0 veya 1.1 sürümlerinde çalışan uygulamalar tarafından kullanılmıyorsa, kategoriyi silin ve yeniden oluşturun.

Not

Windows Vista, Windows XP Professional x64 Edition veya Windows Server 2003'teki performans sayaçlarını okumak için Performans İzleyicisi Kullanıcıları grubunun üyesi olmanız veya yönetici ayrıcalıklarına sahip olmanız gerekir.

Windows Vista'da performans sayaçlarına erişmek için ayrıcalıklarınızı yükseltmek zorunda kalmamak için kendinizi Performans İzleyicisi Kullanıcıları grubuna ekleyin.

Windows Vista'da Kullanıcı Hesabı Denetimi (UAC), bir kullanıcının ayrıcalıklarını belirler. Yerleşik Yöneticiler grubunun bir üyesi iseniz, size iki çalışma zamanı erişim belirteci atanır: Standart kullanıcı erişim belirteci ve yönetici erişim belirteci. Varsayılan olarak, standart kullanıcı rolünde olursunuz. Performans sayaçlarına erişen kodu yürütmek için öncelikle ayrıcalıklarınızı standart kullanıcıdan yöneticiye yükseltmeniz gerekir. Bir uygulamayı başlattığınızda, uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek bunu yapabilirsiniz.

Şunlara uygulanır