Compartilhar via


PerformanceCounter.RemoveInstance Método

Definição

Exclui a instância da categoria especificada pelo objeto PerformanceCounter, propriedade InstanceName.

public:
 void RemoveInstance();
public void RemoveInstance ();
member this.RemoveInstance : unit -> unit
Public Sub RemoveInstance ()

Exceções

Esse contador é somente leitura, portanto, qualquer instância associada à categoria não poderá ser removida.

- ou -

A instância não está associada corretamente a um contador de desempenho.

- ou -

A propriedade InstanceLifetime está definida como Process ao usar a memória global compartilhada.

Ocorreu um erro ao acessar uma API do sistema.

Comentários

Você pode remover uma instância somente para um contador personalizado. Todos os contadores do sistema são somente leitura, portanto, tentar remover um deles gera uma exceção.

Observação

Para evitar uma possível condição de corrida quando a memória compartilhada do contador de desempenho for liberada, é recomendável que o RemoveInstance método seja chamado do DomainUnload manipulador de eventos.

Para criar uma instância de categoria de desempenho, especifique um instanceName no PerformanceCounter construtor . Se a instância de categoria especificada por instanceName já existir, o novo objeto fará referência à instância de categoria existente.

Observação

Se o valor da InstanceLifetime propriedade for Process e a categoria do contador de desempenho tiver sido criada com .NET Framework versão 1.0 ou 1.1, um InvalidOperationException será gerado. As categorias de contador de desempenho criadas com versões anteriores usam memória compartilhada global e o valor de InstanceLifetime deve ser Global. Se a categoria não for usada por aplicativos em execução nas versões 1.0 ou 1.1 do .NET Framework, exclua e recrie a categoria.

Aplica-se a