Recebe uma mensagem de erro configuração quando uma criança ASP.NET 1.0 ou subordinado aplicação ASP.NET 1.1 que está aninhada sob uma aplicação do ASP.NET ascendente

Traduções de Artigos Traduções de Artigos
Artigo: 918830 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário:
  • Criar uma aplicação subordinado Microsoft ASP.NET 1.0 ou o ASP.NET 1.1, que está aninhada sob uma aplicação principal do ASP.NET. Por exemplo, o Web site contém a seguinte estrutura:
    • http://contoso.com
    • http://contoso.com/Research
  • O ficheiro Web.config para o ascendente aplicação do ASP.NET (http://contoso.com) contém uma secção de "<httpmodules>" que referencia um módulo HTTP. Além disso, todos os seguintes verificam as condições:
    • O módulo de HTTP não é uma assemblagem com nome seguro. Por conseguinte, o módulo de HTTP não está localizado na cache de assemblagem global.
    • O módulo HTTP não é na pasta bin da aplicação de ASP.NET subordinado.
Neste cenário, quando visualiza o subordinado ASP.NET aplicação, receberá uma mensagem de erro semelhante à seguinte:
Erro de configuração

Descrição: Ocorreu um erro durante o processamento de um ficheiro de configuração necessário para efectuar este pedido. Consulte os detalhes do erro específico abaixo e modifique o ficheiro de configuração correctamente.

Mensagem de erro do analisador: Ficheiro ou assemblagem nome httpModuleName ou uma das respectivas 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
Nota nome de módulo do httpModuleName representa o HTTP. httpModuleType representa o nome da classe e o nome de assemblagem do módulo de HTTP.

Também receber uma mensagem de erro de configuração se a aplicação do ASP.NET principal referenciar os processadores de HTTP que estão na pasta bin.

Causa

Este problema ocorre porque aplicações do ASP.NET subordinada herdam as definições de aplicação de ASP.NET principal que estão a ser o Web.config ficheiro. Por conseguinte, quando procurar uma criança aplicação do ASP.NET, procura o módulo HTTP de aplicação principal na pasta bin subordinado. Se a aplicação de criança não conseguir localizar o módulo de HTTP, a aplicação de procura na cache de assemblagem global. Uma vez que o módulo de HTTP não é uma assemblagem com nome seguro, o módulo de HTTP não está na cache de assemblagem global. Por conseguinte, recebe a mensagem de erro mencionada na secção "Sintomas".

Como contornar

Para contornar este problema, utilize um dos seguintes métodos. Utilize o método mais adequado à situação.

Método 1: Criar uma assemblagem com nome seguro

Pode criar um módulo HTTP é uma assemblagem com nome seguro e, em seguida, adicionar a assemblagem à cache de assemblagem global do servidor Web. Para mais informações sobre como criar e utilizar as assemblagens com nome seguro, visite o seguinte Web site da Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/xwb8f617(vs.71).aspx

Método 2: Copiar o ficheiro de assemblagem DLL para a pasta Bin de subordinado

Copie manualmente o ficheiro de assemblagem DLL para o módulo HTTP para a Reciclagem pasta da aplicação do ASP.NET a criança.

Método 3: Actualizar as aplicações ASP.NET 2.0

Pode actualizar aplicações do ASP.NET para o ASP.NET 2.0. O problema não ocorre no ASP.NET 2.0 devido a arquitecturais melhoramentos nas definições de configuração da aplicação. Para mais informações sobre como actualizar para o ASP.NET 2.0, visite o seguinte site da Web MSDN:
http://msdn2.microsoft.com/en-us/asp.net/aa336650.aspx

Ponto Da Situação

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

Mais Informação

Não é possível trabalhar à volta do erro removendo o nome do módulo HTTP ou desmarcando o nome de módulo HTTP no ficheiro Web.config da aplicação de ASP.NET subordinado. Por exemplo, as seguintes instruções Web.config não resolverem o problema:

Exemplo 1: Se remover o nome de módulo HTTP

<httpModules>
  <remove name="httpModuleName"/>
</httpModules>
Nota httpModuleName representa o nome do módulo de HTTP.

Exemplo 2: Desmarque É o nome do módulo HTTP

<httpModules>
  <clear/>
</httpModules>

Referências

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

Propriedades

Artigo: 918830 - Última revisão: 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 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: 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