Erro: Erro ao invocação de métodos em um serviço da Web usando ASP

Traduções deste artigo Traduções deste artigo
ID do artigo: 322886 - Exibir os produtos aos quais esse artigo se aplica.
É altamente recomendável que todos os usuários atualizem para Microsoft (IIS) versão 7.0 em execução no Microsoft Windows Server 2008. O IIS 7.0 aumenta significativamente a segurança de infra-estrutura da Web. Para obter mais informações sobre tópicos relacionados à segurança do IIS, visite o seguinte site:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
Para obter mais informações sobre o IIS 7.0, visite o seguinte site:
http://www.iis.net/default.aspx?tabid=1
Expandir tudo | Recolher tudo

Sintomas

Quando você chamar métodos em um serviço da Web, você 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 da Web ASP.NET use, às vezes, a pasta de TEMP do sistema quando eles processam WebMethods. Se o thread que está processando a solicitação usa uma identidade que não tenha acesso de leitura/gravação para essa pasta, você receberá a mensagem de erro.

Resolução

Para evitar esse problema, conceda privilégios de leitura/gravação para a pasta TEMP para a conta ASPNET. Quando ASP.NET Web Services processar WebMethods, a identidade que é usada com mais freqüência para obter acesso a pasta Temp do sistema é a conta ASPNET local, que é a conta padrão em que aplicativos ASP.NET executados.

No entanto, se você tiver configurado seu aplicativo para usar representação em seu arquivo Web.config, o thread também pode usar a identidade de qualquer chamador. Se for esse o caso, todas as identidades potenciais de chamada devem ter privilégios de leitura/gravação para o TEMP pasta. Uma identidade chamada provavelmente é o Internet Information Services (IIS) anônimo conta do aplicativo (normalmente a conta xxx que ISUR_). O thread também pode usar a conta xxx IWAM_.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo.

Propriedades

ID do artigo: 322886 - Última revisão: quinta-feira, 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
  • Microsoft Internet Information Services 5.0
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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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