Violação de acesso ocorre quando você usa um manipulador de seção de configuração personalizada em um aplicativo ASP.NET que está sob carga excessiva

Traduções deste artigo Traduções deste artigo
ID do artigo: 307513 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Este artigo se refere à seguintes Microsoft .NET Framework Class Library namespaces:
  • System.Configuration
Expandir tudo | Recolher tudo

Sintomas

Se um aplicativo ASP.NET usa um manipulador de seção de configuração personalizada, uma exceção chance primeira do tipo violação de acesso pode ocorrer no aspnet_wp.exe processo (ou processo do W3wp.exe, aplicativo foran que é executado no Microsoft IIS [] 6.0) quando o aplicativo ASP.NET está sob carga excessiva.

Causa

Esse problema pode ocorrer quando vários segmentos estão acessando o mesmo objeto de configuração simultaneamente se a implementação da interface IConfigurationSectionHandler não for thread-safe e sem monitoração de estado ou se o objeto que o método Create retorna não é thread-safe e imutável.

Resolução

Quando você cria um manipulador de seção de configuração ASP.NET personalizado, use as diretrizes a seguir quando você implementa a interface IConfigurationSectionHandler :
  • Instâncias de sua classe que implementam a interface IConfigurationSectionHandler devem ser thread-safe e sem monitoração de estado.
  • O objeto que o método IConfigurationSectionHandler.Create retorna deve ser thread-safe e imutável.
  • Não modifique o argumento de pai para o método IConfigurationSectionHandler.Create .

Situação

Esse comportamento é por design.

Mais Informações

Instâncias do IConfigurationSectionHandler devem ser thread-safe e sem monitoração de estado. Você deve ser capaz de chamar o método IConfigurationSectionHandler.Create de vários threads simultaneamente.

Além disso, o objeto de configuração que gera IConfigurationSectionHandler.Create deve ser thread-safe e imutável. Como o sistema de configuração armazena em cache os objetos de configuração, é importante que você não modifique o argumento "pai" IConfigurationSectionHandler.Create . Por exemplo, se o valor de retorno de IConfigurationSectionHandler.Create é apenas uma pequena modificação do "pai", você deve modificar um clone do "pai," não o original.

Referências

Para obter mais informações sobre ASP.NET configuração, clique no números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
307626Visão geral sobre a configuração do ASP.NET
309045Como criar um manipulador de seção de configuração ASP.NET personalizado no Visual translation from VPE for Csharp .NET

Propriedades

ID do artigo: 307513 - Última revisão: segunda-feira, 24 de fevereiro de 2014 - Revisão: 3.3
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft .NET Framework 1.1
Palavras-chave: 
kbnosurvey kbarchive kbmt kbconfig kbhttphandlers kbhttpruntime kbprb kbreadme KB307513 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: 307513

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