ID do artigo: 952883 - Última revisão: quarta-feira, 4 de agosto de 2010 - Revisão: 1.0

Correcção: O tipo de retorno ou o argumento fora de um método de serviço ASMX inclui uma propriedade que tem um setter interna não pode ser serializado em um computador que possui o.NET Framework instalado

Download do hotfix está disponívelDownload do Hotfix Disponível
Visualizar e solicitar downloads de hotfix
Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sintomas

Considere este cenário. Você tem um computador que possui o Microsoft .NET Framework 2. 0 Service Pack 2 (SP2) ou o .NET Framework 3. 5 SP1 instalado. Você usa um método de serviço ASMX inclui uma propriedade e a propriedade tem um setter interno. A serialização pode falhar. Esse problema ocorre em um cenário semelhante à seguinte:
  • Tipo de público de T inclui uma propriedade pública que tem um getter público e um setter interno. Por exemplo, o código-fonte pode ser semelhante a seguinte.
    public class T
    {
                    ?
                    public <Type> <Propertyname1> { get; internal set; }
                    ?
    }
    
  • Argumento em um Web service, o tipo de retorno ou o limite de pelo menos um método Web service retorna objetos do digite T ou objetos que contêm o T em seus gráficos de objeto. Por exemplo, o código-fonte pode ser semelhante um dos exemplos a seguir.
    • public T MyWebMethod(?)
      {
                      ?
      }
      
    • public void MyWebMethod(?, out U)
      {
                      ?
      }
      ...
      public Class U
      {
                      public T <Propertyname2>  { get; set; }
      }
  • T tipo ou tipo U não é usado em quaisquer métodos de serviço da Web como um argumento não-out-only.

    Observação:Se um método tem mais de um check-out de argumento, os argumentos de saída são chamados argumentos não-out-only.
  • O tipo de propriedade que tem um setter interno não éEnumeráveisouColeção.
  • Antes de aplicar o .NET Framework 2. 0 SP2 ou o .NET Framework 3. 5 SP1, você gerou código de proxy ao serviço da Web mencionado anteriormente, usando a ferramenta WSDL. exe ou o recurso de referência do Visual Studio Add Web.
  • Após a implantação do serviço da Web e clientes, você aplicou o .NET Framework 2. 0 SP2 ou o .NET Framework 3. 5 SP1.
Neste cenário, o tipo de retorno ou o argumento fora do método de serviço da Web mencionado anteriormente irá não ser serializado. Esse método de serviço da Web é um objeto do tipo T ou um objeto que contém o T em seus gráficos de objeto.

Observação:Atualmente, não há nenhum pacote separado para o .NET Framework 2. 0 SP2. O .NET Framework 2. 0 SP2 está incluído no pacote para o .NET Framework 3. 5 SP1.

Resolução

Informações sobre a substituição de hotfix

o hotfix que corresponde ao KB952883 foi substituído com o hotfix KB976814, que contém todas as correções que anteriormente estavam incluídas nas KB952883. Você deve usar o hotfix KB976814 para corrigir os problemas descritos nos KB952883. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
976814  (http://support.microsoft.com/kb/976814/ ) Correcção: uma exceção System. InvalidOperationException ocorre quando você usar um proxy de cliente do WCF é gerado pela ferramenta Utilitário de metadados de ServiceModel dos metadados de serviço que está no .NET Framework 3. 5

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Referências

Para obter mais informações sobre a terminologia da atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão que é usada para descrever as atualizações de software

A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 2.0
  • Microsoft .NET Framework 3.5
Palavras-chave: 
kbautohotfix kbexpertiseadvanced kbfix kbqfe kbmt KB952883 KbMtpt
Tradução automáticaTraduçã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: 952883  (http://support.microsoft.com/kb/952883/en-us/ )