<elemento forcePerformanceCounterUniqueSharedMemoryReads>

Specifica se PerfCounter.dll usa l'impostazione del Registro di sistema CategoryOptions in un'applicazione di .NET Framework versione 1.1 per determinare se caricare i dati del contatore delle prestazioni dalla memoria condivisa specifica della categoria o dalla memoria globale.

<Configurazione>
  <Runtime>
    <forcePerformanceCounterUniqueSharedMemoryReads>

Sintassi

<forcePerformanceCounterUniqueSharedMemoryReads
enabled="true|false"/>  

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
enabled Attributo obbligatorio.

Indica se PerfCounter.dll usa l'impostazione del Registro di sistema CategoryOptions per determinare se caricare i dati del contatore delle prestazioni dalla memoria condivisa o dalla memoria globale specifica della categoria.

Attributo enabled

Valore Descrizione
false PerfCounter.dll non usa l'impostazione del Registro di sistema CategoryOptions Questo è il valore predefinito.
true PerfCounter.dll usa l'impostazione del Registro di sistema CategoryOptions.

Elementi figlio

Nessuno.

Elementi padre

Elemento Descrizione
configuration Elemento radice in ciascun file di configurazione usato in Common Language Runtime e nelle applicazioni .NET Framework.
runtime Contiene informazioni sull'associazione degli assembly e sull'operazione di Garbage Collection.

Commenti

Nelle versioni di .NET Framework prima di .NET Framework 4, la versione di PerfCounter.dll caricata corrisponde al runtime caricato nel processo. Se un computer aveva sia .NET Framework versione 1.1 che .NET Framework 2.0 installato, un'applicazione .NET Framework 1.1 caricava la versione di .NET Framework 1.1 di PerfCounter.dll. A partire da .NET Framework 4, viene caricata la versione più recente installata di PerfCounter.dll. Ciò significa che un'applicazione .NET Framework 1.1 caricherà la versione di .NET Framework 4 di PerfCounter.dll se .NET Framework 4 è installato nel computer.

A partire da .NET Framework 4, quando si utilizzano contatori delle prestazioni, PerfCounter.dll controlla la voce del Registro di sistema CategoryOptions per ogni provider per determinare se deve leggere dalla memoria condivisa o dalla memoria condivisa globale specifica della categoria. L'PerfCounter.dll .NET Framework 1.1 non legge la voce del Registro di sistema, perché non è a conoscenza della memoria condivisa specifica della categoria; legge sempre dalla memoria condivisa globale.

Per la compatibilità con le versioni precedenti, l'PerfCounter.dll .NET Framework 4 non controlla la voce del Registro di sistema CategoryOptions durante l'esecuzione in un'applicazione .NET Framework 1.1. Usa semplicemente memoria condivisa globale, proprio come l'PerfCounter.dll .NET Framework 1.1. È tuttavia possibile indicare a .NET Framework 4 PerfCounter.dll di controllare l'impostazione del Registro di sistema abilitando l'elemento <forcePerformanceCounterUniqueSharedMemoryReads> .

Nota

L'abilitazione dell'elemento <forcePerformanceCounterUniqueSharedMemoryReads> non garantisce che verrà usata la memoria condivisa specifica della categoria. L'impostazione abilitata per true causare solo PerfCounter.dll fare riferimento all'impostazione del Registro di sistema CategoryOptions. L'impostazione predefinita per CategoryOptions consiste nell'usare la memoria condivisa specifica della categoria; Tuttavia, è possibile modificare CategoryOptions per indicare che deve essere usata la memoria condivisa globale.

La chiave del Registro di sistema che contiene l'impostazione CategoryOptions è HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\<categoryName>\Performance. Per impostazione predefinita, CategoryOptions è impostato su 3, che indica PerfCounter.dll di usare la memoria condivisa specifica della categoria. Se CategoryOptions è impostato su 0, PerfCounter.dll usa la memoria condivisa globale. I dati dell'istanza verranno riutilizzati solo se il nome dell'istanza creata è identico all'istanza riutilizzata. Tutte le versioni potranno scrivere nella categoria. Se CategoryOptions è impostato su 1, viene usata la memoria condivisa globale, ma i dati dell'istanza possono essere riutilizzati se il nome della categoria è la stessa lunghezza della categoria riutilizzata.

Le impostazioni 0 e 1 possono causare perdite di memoria e il riempimento della memoria contatore delle prestazioni.

Esempio

Nell'esempio seguente viene illustrato come specificare che PerfCounter.dll deve fare riferimento alla voce del Registro di sistema CategoryOptions per determinare se deve usare memoria condivisa specifica della categoria.

<configuration>  
  <runtime>  
    <forcePerformanceCounterUniqueSharedMemoryReads enabled="true"/>  
  </runtime>  
</configuration>  

Vedi anche