Freigeben über


ASP_PERFMON_- [XX]-Ereignishandles gehen möglicherweise verloren, wenn Sie Leistungsindikatorobjekte auf einem lokalen Computer abfragen.

Dieser Artikel hilft Ihnen, das Problem zu beheben, bei dem ASP_PERFMON_- [XX] Ereignishandles beim Abfragen von Leistungsindikatorobjekten auf einem lokalen Computer auftreten können.

Ursprüngliche Produktversion: Internetinformationsdienste
Ursprüngliche KB-Nummer: 2962962

Problembeschreibung

Wenn Sie Performance Monitor-Objekte auf Ihrem lokalen Computer mithilfe der PDHEnumObjects API zusammen mit dem auf "true" festgelegten Parameter "true" lesen, stellen Sie möglicherweise fest, dass ein Verlust von ASP_PERFMON_-[XXX] Ereignishandles auftritt. Dieser Verlust kann auch beobachtet werden, wenn Sie Leistungsindikatorobjekte in .NET-Code mithilfe System.Diagnostics.PerformanceCounter von .NET-Code abfragen und einen Aufruf der System.Diagnostics.PerformanceCounter.CloseSharedResources() Methode ausführen.

Ursache

Dieser Verlust tritt auf, wenn der Anwendungscode kontinuierlich geschlossen und das ASP-Leistungsindikatorobjekt neu erstellt.

Problemumgehung

Wenden Sie eine der folgenden Methoden an, um dieses Problem zu umgehen:

  • Anstatt das ASP-Leistungsindikatorobjekt wiederholt zu schließen und erneut zu öffnen, erstellen Sie eine globale Instanz des ASP-Leistungsindikatorobjekts, und lassen Sie den Code werte aus dieser globalen Instanz lesen.
  • Wenn Sie das ASP-Leistungsindikatorobjekt nicht abfragen möchten, können Sie es deaktivieren, indem Sie einen DWORD-Registrierungseintrag zum Deaktivieren von Leistungsindikatoren mit dem Wert 1 zum Registrierungsunterschlüssel hinzufügen: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ASP\Performance