Violação de acesso ocorre quando utiliza um processador de secção de configuração personalizada numa aplicação do ASP.NET sob pressão

Traduções de Artigos Traduções de Artigos
Artigo: 307513 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Este artigo faz referência à seguinte Microsoft .NET Framework Class Library espaços de nomes:
  • System.Configuration
Expandir tudo | Reduzir tudo

Sintomas

Se uma aplicação do ASP.NET utiliza um processador de secção de configuração personalizado, poderá ocorrer uma excepção de oportunidade primeira de violação de acesso do tipo no aspnet_wp.exe (ou processo W3wp.exe, foran aplicação que é executado no Microsoft Internet Information Services IIS 6.0) quando a aplicação do ASP.NET está em pressão.

Causa

Este problema pode ocorrer quando vários threads estão a aceder ao mesmo objecto configuração simultaneamente se a implementação da interface IConfigSectionHandler não for thread de segurança e de estado ou se o objecto que devolve o método Create não for imutável e de segurança do thread.

Resolução

Quando cria um processador da secção Configuração de ASP.NET personalizado, utilize as seguintes directrizes quando implementa a interface de IConfigSectionHandler :
  • As instâncias de classe que implementam a interface IConfigSectionHandler tem de ser optimizada para thread e sem estado.
  • O objecto que o método IConfigurationSectionHandler.Create devolve tem de ser imutável e de segurança do thread.
  • Não modifique o argumento principal para o método IConfigurationSectionHandler.Create .

Ponto Da Situação

Este comportamento ocorre por predefinição.

Mais Informação

Instâncias de IConfigSectionHandler tem de ser optimizada para thread e sem estado. Tem de ser possível chamar o método IConfigurationSectionHandler.Create a partir de vários threads em simultâneo.

Além disso, o objecto de configuração gera IConfigurationSectionHandler.Create tem de ser imutável e de segurança do thread. Uma vez que o sistema de configuração coloca em cache os objectos de configuração, é importante que não modifique o argumento "ascendente" para IConfigurationSectionHandler.Create . Por exemplo, se o valor devolvido de IConfigurationSectionHandler.Create é apenas uma pequena modificação de "ascendente", tem de modificar um clone do "principal," não o original.

Referências

Para obter mais informações sobre ASP.NET configuração, clique números de artigo seguinte seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
307626Descrição geral de configuração do ASP.NET
309045Como criar um processador da secção Configuração personalizada ASP.NET no Visual C# .NET

Propriedades

Artigo: 307513 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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