Erro: Erro ao utilizador invocar métodos de um serviço Web utilizando ASP

Traduções de Artigos Traduções de Artigos
Artigo: 322886 - Ver produtos para os quais este artigo se aplica.
Recomendamos vivamente que todos os utilizadores actualizem para Microsoft (IIS) versão 7.0 em execução no Microsoft Windows Server 2008. O IIS 7.0 aumenta significativamente a segurança da infra-estrutura Web. Para mais informações sobre tópicos relacionados com a segurança do IIS, visite o seguinte Web site da Microsoft:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
Para obter mais informações sobre o IIS 7.0, visite o seguinte Web site da Microsoft:
http://www.iis.net/default.aspx?tabid=1
Expandir tudo | Reduzir tudo

Sintomas

Quando invocar métodos num serviço Web, poderá receber a seguinte mensagem de erro:
System.InvalidOperationException: Unable to generate a temporary class
(result=1). error CS2001: Source file 'C:\WINNT\TEMP\gggcyckb.0.cs' could not 
be found error CS2008: No inputs specified at 
System.Xml.Serialization.Compiler.Compile() at 
System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings) at 
System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] mappings) at 
System.Web.Services.Protocols.SoapClientType..ctor(Type type) at 
System.Web.Services.Protocols.SoapHttpClientProtocol..ctor() at 
SDAccounts.swd_dotnetdev.Organizations..ctor() at 
SDAccounts.Contacts.GetContactInfo(Object Status, Object& ErrorString)
					

Causa

Serviços Web do ASP.NET utilizam, por vezes, a pasta de Temp do sistema quando processam WebMethods. Se o thread está a processar o pedido utiliza uma identidade que não tenha acesso de leitura/escrita para essa pasta, recebe a mensagem de erro.

Resolução

Para evitar este problema, atribua privilégios de leitura/escrita para a pasta Temp para a conta ASPNET. Quando serviços Web do ASP.NET processar WebMethods, a identidade que é frequentemente utilizada para aceder à pasta Temp do sistema é a conta ASPNET local, que é a conta predefinida em que executar aplicações do ASP.NET.

No entanto, se tiver configurado a aplicação utilize representação no respectivo ficheiro Web.config, o thread também pode utilizar a identidade de qualquer autor da chamada. Se for este o caso, todas as identidades chamadas potenciais tem de ter privilégios de leitura/escrita para o Temp pasta. Uma identidade provavelmente chamada é o Internet Information Services (IIS) conta anónima da aplicação (normalmente, a conta ISUR_ xxx). O thread também pode usar a conta de xxx IWAM_.

Ponto Da Situação

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

Propriedades

Artigo: 322886 - Última revisão: 3 de julho de 2008 - Revisão: 6.1
A informação contida neste artigo aplica-se a:
  • Microsoft Web Services (included with the .NET Framework) 1.0
  • Microsoft Internet Information Server 4.0
  • Serviços de informação Internet 5.0 da Microsoft
Palavras-chave: 
kbmt kbbug kbpending KB322886 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: 322886

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