Erro: "ExternalException: não é possível executar um programa" mensagem de erro quando contactar o WebServices da página .aspx

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

Nesta página

Sintomas

Se utilizar o protocolo simples de acesso a objectos (SOAP) para chamar o método WebServices a partir de uma página .aspx, a página .aspx poderá falhar quando executa a ferramenta de bloqueio do ISS (Serviços de informação Internet Information Services). Além disso, poderá receber a seguinte mensagem de erro:
[ExternalException (0 x 5): não é possível executar um programa. O comando a ser executado era /noconfig "d:\winnt\microsoft.net\framework\v1.0.3408\csc.exe" @ "D:\WINNT\TEMP\eyrpuhyg.cmdline".]
Este problema afecta apenas as aplicações da Web ou Web de serviços que são clientes de um serviço Web e que representar a conta de utilizador anónimo.

Causa

A ferramenta IIS Lockdown nega o acesso de execução para o IUSR_ COMPUTERNAME e o IWAM_ COMPUTERNAME contas para todos os executáveis (*.exe) de ficheiros no directório do Windows (% windir %). Isto inclui ferramentas de estrutura, tais como o ficheiro CSC.exe, que utiliza a classe de XmlSerializer . Quando uma aplicação Web ou um serviço Web representa IUSR_ COMPUTERNAME ou IWAM_ COMPUTERNAME, a aplicação da Web ou Web serviço não é possível utilizar XmlSerializer para serializar objectos em XML (Extensible Markup Language) documentos.

Nota Este problema não afecta o lado do servidor de um serviço Web porque XmlSerializer é criado e compilado fora da representação.

Resolução

Para resolver este problema, utilize um dos seguintes métodos:
  • Utilize uma conta diferente, não anónima para representar. (Este é o método recomendado.)
  • Adicione permissão suficiente para ficheiros executáveis no directório do Windows.

Ponto Da Situação

A Microsoft confirmou que este é um erro no Microsoft produtos listados no início deste artigo.

Mais Informação

Passos para reproduzir o comportamento

  1. Permite anónimo acesso na aplicação do IIS.
  2. Activar a representação para a aplicação Web no ficheiro Web.config local da seguinte forma:
    <configuration>
      <system.web>	
    	<identity impersonate="true" />
      </system.web>
    </configuration>
    					
  3. Execute a ferramenta IIS Lockdown ou negar acesso a IUSR_ COMPUTERNAME ou a conta IWAM_ COMPUTERNAME no ficheiro CSC.exe antes de pedir a página.

Referências

Para obter informações adicionais sobre representação no ASP.NET aplicação, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
306158INFO: Implementar representação no ASP.NET aplicação
Para obter informações adicionais sobre XmlSerializer , clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
315703COMO: Serializar um objecto para XML utilizando o Visual Basic .NET
Para mais informações sobre serviços Web, consulte os seguintes Web sites da MSDN:
XML Web Services Developer Center
http://msdn.microsoft.com/webservices

Documentos do Office XML Web Service-Enabled (uma coluna Extreme XML )
http://msdn2.microsoft.com/en-us/library/ms950767.aspx

Além disso, consulte o tópico "Criar e instruções passo a serviços passo aceder A Web" na documentação de ajuda do Visual Studio .NET online para obter mais informações sobre serviços Web.

Propriedades

Artigo: 315904 - Última revisão: 29 de março de 2007 - Revisão: 6.3
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.0
  • Microsoft Web Services (included with the .NET Framework) 1.0
  • Microsoft Web Services Enhancements for Microsoft .NET 1.1
Palavras-chave: 
kbmt kbbug kbpending kbsecurity kbwebforms KB315904 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: 315904
Exclusã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.

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