PerformanceCounter.NextSample Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft ein Zählerbeispiel ab und gibt den unformatierten oder nicht berechneten Wert dafür zurück.
public:
System::Diagnostics::CounterSample NextSample();
public System.Diagnostics.CounterSample NextSample();
member this.NextSample : unit -> System.Diagnostics.CounterSample
Public Function NextSample () As CounterSample
Gibt zurück
A CounterSample that represents the next raw value that the system obtains for this counter.
Ausnahmen
Die Instanz ist nicht ordnungsgemäß mit einem Leistungsindikator verknüpft.
- oder -
Die InstanceLifetime Eigenschaft wird bei Process Verwendung des globalen freigegebenen Speichers festgelegt.
Fehler beim Zugriff auf eine System-API.
Code, der ohne Administratorrechte ausgeführt wird, hat versucht, einen Leistungsindikator zu lesen.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die NextSample Methode verwendet wird, um den nächsten nicht berechneten Wert eines Zählers abzurufen. Dieses Codebeispiel ist Teil eines größeren Beispiels für die PerformanceCounter Klasse.
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
Hinweise
Diese Methode wird in der Regel für Indikatoren verwendet, die nicht berechnete Werte enthalten.
Hinweis
Wenn der Wert für die InstanceLifetime Eigenschaft lautet Process und die Leistungsindikatorkategorie mit .NET Framework, Version 1.0 oder 1.1, erstellt wurde, wird ein InvalidOperationException Fehler ausgelöst. Leistungsindikatorkategorien, die mit früheren Versionen erstellt wurden, verwenden den globalen freigegebenen Speicher, und der Wert muss InstanceLifetime sein Global. Wenn die Kategorie nicht von Anwendungen verwendet wird, die unter Den Versionen 1.0 oder 1.1 von .NET Framework ausgeführt werden, löschen Sie die Kategorie, und erstellen Sie sie neu.
Hinweis
Um Leistungsindikatoren in Windows Vista, Windows XP Professional x64 Edition oder Windows Server 2003 zu lesen, müssen Sie entweder Mitglied der Gruppe "Benutzer der Leistungsüberwachung" sein oder über Administratorrechte verfügen.
Um zu vermeiden, dass Sie Ihre Berechtigungen für den Zugriff auf Leistungsindikatoren in Windows Vista erhöhen müssen, fügen Sie sich der Gruppe "Benutzer der Leistungsüberwachung" hinzu.
In Windows Vista bestimmt die Benutzerkontensteuerung (User Account Control, UAC) die Berechtigungen eines Benutzers. Wenn Sie Mitglied der Gruppe "Integrierte Administratoren" sind, werden Ihnen zwei Laufzeitzugriffstoken zugewiesen: ein Standardbenutzerzugriffstoken und ein Administratorzugriffstoken. Standardmäßig befinden Sie sich in der Standardbenutzerrolle. Um den Code auszuführen, der auf Leistungsindikatoren zugreift, müssen Sie zuerst Ihre Berechtigungen vom Standardbenutzer zum Administrator erhöhen. Sie können dies tun, wenn Sie eine Anwendung starten, indem Sie mit der rechten Maustaste auf das Anwendungssymbol klicken und angeben, dass Sie als Administrator ausführen möchten.