Artigo: 329065 - Última revisão: segunda-feira, 6 de Novembro de 2006 - Revisão: 3.4

PROBLEMA: Erro de acesso negado quando efectua modificações em códigos com os serviços de indexação em execução

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sintomas

Quando acede a uma página depois de AppDomain ter sido carregada, por exemplo, quando modifica o directório Bin ou o ficheiro Web.config em computadores com os serviços de indexação da Microsoft, poderá receber a seguinte mensagem de erro:

Erro de servidor na aplicação '/AminhaApWeb'

Erro de configuração

Descrição: Erro durante o processamento de um ficheiro de configuração necessário no processamento deste pedido. Reveja os detalhes do erro específico abaixo e modifique o ficheiro de configuração correctamente.

Parser Error Message: O acesso é negado: 'minhadll'.

Source Error:

Line 169:   <add assembly=<System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a>/>
 
Line 170:    <add assembly=<System.EnterpriseServices, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a>/>
Line 171:    <add assembly=<*>/>
Line 172:    </assemblies>
Line 173:    
					
Source File: c:\winnt\microsoft.net\framework\v1.0.3705\Config\machine.config Line: 171
Informações sobre a versão: Microsoft .NET Framework Version:1.0.3705.0; ASP.NET Version:1.0.3705.0
Se clicar com o botão direito do rato na página, no browser e, em seguida, clicar em Ver código-fonte, verificará que o código HTML revela informações adicionais, incluindo a seguinte pilha de chamadas.
[FileLoadException]: O acesso é negado: 'AminhaApWeb'.<BR/> at System.Reflection.Assembly.nLoad(AssemblyName fileName, Boolean isStringized, Evidence assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark&amp; stackMark)<BR/> at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemblySecurity, StackCrawlMark&amp; stackMark)<BR/> at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark&amp; stackMark)<BR/> at System.Reflection.Assembly.Load(String assemblyString)<BR/> at System.Web.UI.CompilationConfiguration.LoadAssemblies(Hashtable original)<BR/> [ConfigurationException]: O acesso é negado: 'AminhaApWeb'.<BR/> (d:\winxp\microsoft.net\framework\v1.0.3215\Config\machine.config line 145)<BR/> at System.Web.UI.CompilationConfiguration.LoadAssemblies(Hashtable original)<BR/> at System.Web.UI.CompilationConfiguration.get_Assemblies()<BR/> at System.Web.UI.CompilationConfiguration.GetAssembliesFromContext(HttpContext context)<BR/> at System.Web.UI.TemplateParser.AppendConfigAssemblies()<BR/> at System.Web.UI.TemplateParser.PrepareParse()<BR/> at System.Web.UI.TemplateParser.Parse()<BR/> at System.Web.UI.TemplateParser.GetParserCacheItemThroughCompilation()<BR/> at System.Web.UI.TemplateParser.GetParserCacheItemInternal(Boolean fCreateIfNotFound)<BR/> at System.Web.UI.TemplateParser.GetParserCacheItemWithNewConfigPath()<BR/> at System.Web.UI.TemplateParser.GetParserCacheItem()<BR/> at System.Web.UI.ApplicationFileParser.GetCompiledApplicationType(String inputFile, HttpContext context, ApplicationFileParser&amp; parser)<BR/> at System.Web.HttpApplicationFactory.CompileApplication(HttpContext context)<BR/> at System.Web.HttpApplicationFactory.Init(HttpContext context)<BR/> at System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context)<BR/> at System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)

Causa

Se utilizar o Index Server (Cisvc.exe), este poderá pesquisar novamente o directório de ficheiros temporários de ASP.NET (Temporary ASP.NET Files) enquanto solicita uma página Microsoft ASP.NET. O Cisvc.exe bloqueia o directório de ficheiros temporários de ASP.NET durante um a cinco minutos. O tempo do bloqueio depende do tamanho do directório que faz com que o Aspnet_wp.exeprocess (ou o processo W3wp.exe para aplicações que utilizam o Microsoft IIS 6.0 (Serviços de informação Internet - Internet Information Services) não carregue a DLL específica.

Resolução

Se não utilizar o Index Server no servidor, poderá desactivá-lo. Para tal, siga estes passos:
  1. Clique em Iniciar e clique em Serviços.
  2. Localize Serviço de indexação na lista de serviços e clique em Serviço de indexação Propriedades a partir do subformulário.
  3. No separador Geral da caixa de diálogo Serviço de indexação Propriedades, na lista pendente Tipo de arranque, clique em Desactivado.
  4. Clique em OK.

Se utilizar o Index Server, poderá excluir o directório de ficheiros temporários de ASP.NET das pastas que são pesquisadas pelo Index Server. Para tal, siga estes passos:
  1. Clique em Iniciar, aponte para Todos os programas, aponte para Ferramentas administrativas e clique em Gestão de computadores.
  2. Expanda o nó Serviços e aplicações, expanda o nó Serviço de indexação e expanda o nó System.
  3. Clique com o botão direito do rato na pasta Directórios, aponte para Novo e clique em Directório a partir do subformulário para abrir a caixa de diálogo Adicionar directório.
  4. Clique em Procurar e localize o directório de ficheiros temporários de ASP.NET. Normalmente, os ficheiros temporários de ASP.NET estão localizados no seguinte caminho: c:\<WINDIR>\Microsoft.NET\Framework\<Número_versão>\Temporary ASP.NET Files
    Nota:<Número_versão> corresponde à versão do .NET Framework instalada no computador.
  5. Clique em Não nos botões de opção Incluir no índice?.
  6. Clique em OK para fechar.
  7. Feche a caixa de diálogo Gestão de computadores.
  8. Reinicie os serviços de indexação.

Mais Informação

Os ficheiros localizados no directório de ficheiros temporários de ASP.NET poderão ser bloqueados por outro software concebido para pesquisar directórios em intervalos regulares, de um modo semelhante, ao bloqueio de ficheiros que é efectuado pelos serviços de indexação. Exemplos deste tipo de software incluem programas de detecção de vírus e software de cópia de segurança. A Microsoft recomenda que consulte os manuais do fabricante relativamente ao software individual para obter informações sobre como desactivar ou eliminar ficheiros temporários de ASP.NET destes serviços.

A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft Windows Indexing Service 2.0
  • Microsoft ASP.NET 1.0
Palavras-chave: 
kbconfig kbhttpruntime kbprb kbwebforms KB329065
Retired KB ArticleExclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.