Server Application Indisponível - Não foi possível carregar o arquivo ou a montagem System.Web, Acesso negado

1

Sou um desenvolvedor tentando configurar um diretório virtual para um serviço da Web WCF em uma máquina Windows Server 2003 (32 bits) e continuo recebendo "Server Application Unavailable" com o seguinte logado no log de eventos:

Message: Could not load file or assembly 'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Access is denied.

Até agora eu tentei:

  • Verificar novamente a conta usada para controle de acesso anônimo (este é um administrador local)
  • Verificando as permissões no diretório C:\Windows\Microsoft.Net\Framework (o ASPNET tem acesso de leitura / gravação, inclusive dei acesso a Todos)
  • Desativando e ativando a extensão ASP.Net v2.0
  • Excluindo e recriando a extensão .svc na lista de extensões de aplicativo
  • Verificando se o System.Web está presente no GAC
  • Reinstalando o .Net framework 3.5 SP 1
  • Dando ao diretório virtual seu próprio pool de aplicativos
  • O registro de fusão não me diz nada de interesse

Eu não consigo descobrir - existe outro serviço web .asmx que parece funcionar perfeitamente no mesmo servidor web com as mesmas configurações. O que eu perdi?

Há alguma técnica que possa ser usada para descobrir esses tipos de problemas de permissão? Seria útil saber a conta do usuário e o caminho que está tentando acessar, mas ativar os eventos de Falha na Política de Auditoria da máquina parecia não fazer nada.

    
por Justin 13.10.2009 / 17:29

3 respostas

2

Ugg meu mau - isso parece ser um tolo de link . Eu verifiquei as permissões no diretório em que o serviço estava contido e tudo estava bem.

Eu também notei que na outra questão o FileMon era usado para ver informações mais detalhadas sobre o que / quem estava falhando em acessar o que.

    
por 13.10.2009 / 17:37
1

Seu comentário mais recente provavelmente tem a chave. Filemon (ou processmon) é seu amigo para uma situação como esta. Se você não usou, é seguro rodar em um servidor de produção, livre e fácil o suficiente para descobrir. (apenas não deixe capturar dados por muito tempo)

O erro de permissão que você tem provavelmente é proveniente de algo no GAC, pois o System.Web deve ser chamado pelo GAC. A única exceção é se o desenvolvedor colocou o System.Web.dll na pasta / bin. As permissões não devem ser bloqueadas a menos que alguém realmente tenha endurecido o servidor. O monitor de processo deve informar rapidamente a resposta.

Para capturá-lo, execute o Process Monitor em fila, inicie uma captura, atualize a página com falha, pare a captura e procure pela palavra 'denied'.

    
por 14.10.2009 / 00:31
0

there is another .asmx web service that appears to work perfectly on the same web server with the same settings. What have I missed

Poderia ser que você esteja tentando rodar em diferentes sites na mesma porta e IP? Você poderia tentar mudar a porta de um deles ou desligar o outro site?

Apenas um longo caminho.

    
por 13.10.2009 / 17:39