O uso de memória do sistema e as contagens de identificador aumentam mais do que você pode esperar quando seu aplicativo contém componentes que são derivados da classe System.EnterpriseServices.ServicedComponent

Traduções deste artigo Traduções deste artigo
ID do artigo: 312118 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Observação Este artigo se refere ao seguinte namespace Microsoft .NET Framework Class Library:
System.EnterpriseServices.ServicedComponent
Quando você executa um aplicativo que contém componentes que são derivadas de System.EnterpriseServices.ServicedComponent , o uso de memória do sistema pode aumentar a mais de 60 por cento da memória disponível. Por exemplo, se você executar um aplicativo ASPX, poderá aumentar o uso de memória do sistema. Identificador de conta também pode aumentar mais do que o esperado. Alto uso da CPU pode ser indicado no Gerenciador de tarefas do Windows enquanto o valor de Req/S permanece em um nível razoável. Se você examinar heaps gerenciados e heaps não gerenciados, você não encontrar nenhuma evidência de vazamentos de memória ou de vazamentos de identificador. Quando Object.Finalize solicita parar, o uso de memória e a contagem de identificadores, eventualmente, ficam aos níveis mais razoáveis.

Causa

Esse problema pode ocorrer se a versão atual do common language runtime é limitada a um thread do finalizador. Se houver muitos segmentos de trabalho manipular objetos finalizáveis gerenciados, o thread do finalizador pode estar por trás. Nesse cenário, o thread do finalizador pode estar por trás especialmente se um trabalho significativo ocorre no finalizador de cada objeto. Componentes de serviço podem estar vulneráveis a esse problema de design porque alças são mantidas ativo com base no contexto do objeto COM +. Isso também é verdadeiro de outros objetos gerenciados com finalizadores complicados.

Resolução

Para resolver esse problema, execute o padrão de codificação do tempo de execução idioma comum chamando o método Dispose e o objeto Dispose quando terminar com os objetos gerenciados que oferece suporte a IDisposable . Componente de serviço é uma classe gerenciada que ofereça suporte a IDisposable .

Propriedades

ID do artigo: 312118 - Última revisão: sexta-feira, 23 de janeiro de 2004 - Revisão: 7.2
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
Palavras-chave: 
kbmt kbprb kbreadme KB312118 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 312118

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com