Mensagem de erro: não é possível aceder ao ficheiro AssemblyName porque está a ser utilizado por outro processo

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

Sintomas

Depois de actualizar conteúdo ASP.NET num servidor Web que está a receber pedidos, poderá receber a seguinte mensagem de erro no browser:
Erro de servidor em /AppName aplicações.
--------------------------------------------------------------------------------
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: Pode não acesso ficheiro AssemblyName porque está a ser utilizado por outro processo.

Erro de origem:

Linha 197: <add assembly="System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Linha 198: <add assembly="System.EnterpriseServices, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Linha 199: <add assembly="*"/> linha 200: </assemblies>
Linha 201:

Ficheiro de origem: c:\ WindowsDirectory \microsoft.net\framework\v1.0.3512\Config\machine.config linha: 199


Este problema poderá ocorrer se actualizar vários ficheiros que provocaria notificações de alteração (tais como Web.config, global.asax e ficheiros na pasta bin). Quando vir pedidos entre duas notificações de alteração consecutivos, fazem com que o domínio de aplicação ser recarregada simultaneamente várias vezes.

Problemas semelhantes também poderão ocorrer quando utilizar um programa no servidor que bloqueia pastas durante a pesquisa. Exemplos de tais programas são programas de vírus, programas de indexação e programas de cópia de segurança.

Causa

Quando altera um ficheiro que faz com que notificações de alteração, o AppDomain recarrega no próximo pedido a receber. Quando esta situação ocorre, o processo Aspnet_wp.exe bloquear Program / Shadow Copy pasta (localizado na pasta ficheiros temporários de ASP.NET), para conseguir com segurança copiar a nova versão do programa.

Se alterar outro ficheiro enquanto este está a ocorrer, e um novo pedido é fornecido em reloads AppDomain e tenta copiar outra versão nova do programa para a pasta de cópia sombra enquanto a pasta está bloqueada por domínio de aplicação primeiro recarregar.

Resolução

Esta correcção está incluída como parte do .NET Framework 1.1.

Agora é disponibilizada pela Microsoft uma correcção suportada, mas destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack do .NET Framework 1.0 que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa de números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.

Nota Também pode utilizar o .NET Framework 1.1 para resolver este problema.

Nota Para corrigir o problema, instale a correcção e, em seguida, configurar as definições na secção "Mais informação".

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
  Date         Time   Version       Size       File name
  --------------------------------------------------------------
  14-Nov-2002  04:12  1.0.3705.377    196,608  Aspnet_isapi.dll
  14-Nov-2002  04:06                    4,169  Aspnet_perf.h
  14-Nov-2002  04:06                   20,468  Aspnet_perf.ini
  14-Nov-2002  04:06                   20,342  Aspnet_perf2.ini
  14-Nov-2002  04:12  1.0.3705.377     24,576  Aspnet_regiis.exe
  14-Nov-2002  04:12  1.0.3705.377     28,672  Aspnet_wp.exe
  14-Nov-2002  01:42  1.0.3705.377     69,632  Corperfmonext.dll
  14-Nov-2002  16:17  1.0.3705.377  1,953,792  Mscorlib.dll
  14-Nov-2002  01:33                   10,256  Mscorlib.ldo
  14-Nov-2002  01:41  1.0.3705.377  2,269,184  Mscorsvr.dll
  14-Nov-2002  01:41  1.0.3705.377  2,269,184  Mscorwks.dll
  02-Aug-2002  03:38                       15  Smartnav.htm
  17-Oct-2002  23:55                    8,728  Smartnav.js
  29-Jan-2002  00:13                    7,003  Smartnavie5.js
  14-Nov-2002  16:18  1.0.3705.377  1,191,936  System.web.dll
				

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".
A correcção altera os seguintes comportamentos no ASP.NET:
  • Erros de configuração são agora armazenadas em apenas cache durante 5 segundos.
  • As notificações de alteração de ficheiros são combinadas com base nos valores dos dois seguintes atributos na secção <httpruntime> o Machine.Config
    • Reinicie o número de segundos a aguardar a próxima notificação de alteração antes de um novo pedido irá disparar um AppDomain waitChangeNotification -
    • maxWaitChangeNotification - número máximo de segundos desde a primeira alteração notificação até o AppDomain é carregado um pedido de nova
    Por exemplo:
    <httpRuntime waitChangeNotification="5" maxWaitChangeNotification="10">
    o valor predefinido para ambos os parâmetros é 0 .
    Tenha em atenção que quando utiliza os valores predefinidos, pode ainda ver o problema descrito na secção "Sintomas".

    Seguem-se os valores sugeridos para as propriedades:
    • Defina waitChangeNotification para um número de segundos que excede o número de segundos que pode decorrer entre actualizações de dois ficheiros de notificação de alteração de uma cópia.
    • Defina maxWaitChangeNotification para um número de segundos que excede o comprimento de tempo a concluir o processo de cópia/implementação.
    Devido a esta alteração, o conteúdo pode aparecer em cache se visualizar imediatamente a seguir um processo de cópia/implementar. Este comportamento é normal. As alterações têm efeito quando o período de espera especificado utilizando os parâmetros anteriores.
  • Dez segundos após uma initializationerror em HttpRuntime, fecha o AppDomain.
  • O erro de configuração real está agora armazenado em InnerException do objecto HttpException .

Propriedades

Artigo: 810281 - Última revisão: 19 de fevereiro de 2007 - Revisão: 6.5
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.0
  • Microsoft .NET Framework 1.1
Palavras-chave: 
kbmt kbhotfixserver kbqfe kbnetframe100presp3fix kbfix kbbug KB810281 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: 810281

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