Você receber uma mensagem de erro configuração quando você procura um filho aplicativo ASP.NET 1.1 que está aninhado em um aplicativo ASP.NET pai ou filho ASP.NET 1.0

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

Neste artigo

Sintomas

Considere o seguinte cenário:
  • Você cria um aplicativo filho Microsoft ASP.NET 1.0 ou 1.1 do ASP.NET que está aninhado em um aplicativo de pai do ASP.NET. Por exemplo, o site contém a seguinte estrutura:
    • http://contoso.com
    • http://contoso.com/Research
  • O arquivo Web.config para o aplicativo ASP.NET pai (http://contoso.com) contém uma seção de "<httpmodules>" que faz referência a um módulo HTTP. Além disso, todas as seguintes condições forem verdadeiras:
    • O módulo HTTP não é um assembly de nome forte. Portanto, o módulo HTTP não está localizado no cache global de assemblies.
    • O módulo HTTP não é na pasta Bin do aplicativo ASP.NET filho.
Nesse cenário, quando você procura o filho ASP.NET aplicativo, você receber uma mensagem de erro semelhante à seguinte:
Erro de configuração

Descrição: Ocorreu um erro durante o processamento de um arquivo de configuração necessário para atender esta solicitação. Examine os detalhes de erro específico abaixo e modifique o arquivo de configuração apropriadamente.

Mensagem de erro do analisador: Arquivo ou assembly nome httpModuleName ou uma de suas dependências, não foi encontrada.

Erro de origem:
Linha 14:-->
Linha 15: <httpmodules>
Linha 16: < Adicionar tipo = "httpModuleType "nome =" httpModuleName "/ >
Linha 17: </httpmodules>
Linha 18: < compilação
Observação nome do módulo representa o HTTP httpModuleName. httpModuleType representa o nome da classe e o nome do assembly do módulo HTTP.

Você também receber uma mensagem de erro de configuração se o aplicativo ASP.NET pai faz referência a qualquer manipuladores HTTP que estão na pasta bin.

Causa

Esse problema ocorre porque aplicativos do ASP.NET filho herdam as configurações de aplicativo de ASP.NET pai que estão em Web.config arquivo. Portanto, quando você procura um filho do aplicativo ASP.NET, ele procura o módulo HTTP do aplicativo pai na pasta bin filho. Se o aplicativo filho não é possível encontrar o módulo HTTP, o aplicativo procura no cache global de assemblies. Como o módulo HTTP não é um assembly de nome forte, o módulo HTTP não está no cache global de assemblies. Portanto, você receber a mensagem de erro mencionada na seção "Sintomas".

Como Contornar

Para contornar este problema, use um dos seguintes métodos. Use o método é mais apropriado para a situação.

Método 1: Criar um assembly de nome forte

Você pode criar um módulo HTTP que é um assembly de nome forte e, em seguida, adicionar o assembly no cache de assembly global de servidor Web. Para obter mais informações sobre como criar e usar assemblies de nome forte, visite o seguinte site da Web Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/xwb8f617(vs.71).aspx

Método 2: Copiar o arquivo de assembly DLL para a pasta bin filho

Copie manualmente o arquivo de assembly DLL para o módulo HTTP para a Lixeira pasta do aplicativo ASP.NET filho.

Método 3: Atualizar os aplicativos para o ASP.NET 2.0

Você pode atualizar os aplicativos ASP.NET para o ASP.NET 2.0. O problema não ocorre no ASP.NET 2.0 devido a aprimoramentos arquiteturais em configurações do aplicativo. Para obter mais informações sobre como atualizar para o ASP.NET 2.0, visite o seguinte site da MSDN:
http://msdn2.microsoft.com/en-us/asp.net/aa336650.aspx

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

Você não pode resolver o erro removendo o nome do módulo HTTP ou desmarcando-se o nome do módulo HTTP no arquivo Web.config do aplicativo ASP.NET filho. Por exemplo, as seguintes instruções de Web.config não resolverem o problema:

Exemplo 1: Você remover o nome do módulo HTTP

<httpModules>
  <remove name="httpModuleName"/>
</httpModules>
Observação httpModuleName representa o nome do módulo HTTP.

Exemplo 2: Você desmarque o nome do módulo HTTP

<httpModules>
  <clear/>
</httpModules>

Referências

Para obter mais informações sobre assemblies de nome forte, visite o seguinte site da MSDN:
http://msdn2.microsoft.com/en-us/library/wd40t7ad(vs.71).aspx
Para obter mais informações sobre o cache global de assemblies, visite o seguinte site da MSDN:
http://msdn2.microsoft.com/en-us/library/yf1d93sz(vs.71).aspx

Propriedades

ID do artigo: 918830 - Última revisão: sexta-feira, 11 de maio de 2007 - Revisão: 1.5
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palavras-chave: 
kbmt kbhttphandlers kbhttpmodule kbasp kbtshoot kbprb KB918830 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: 918830

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