CORRECÇÃO: O Language (WSDL) que é gerado de um objeto remoto não pode incluir informações de tipos aninhados tipo ou tipos que incluem sobrecarregado métodos no .NET Framework 2.0

Traduções deste artigo Traduções deste artigo
ID do artigo: 917782 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando você usa a classe HttpChannel remoto um objeto em um aplicativo Microsoft .NET Framework 2.0 Remoting, o Language (WSDL) que é gerado a partir do objeto remoto pode não incluir as informações de tipo de tipos aninhados ou para tipos que incluem sobrecarregado métodos do objeto remoto. Por exemplo, você pode usar código semelhante os exemplos de código a seguir para o objeto remoto.

Exemplo 1

Este exemplo é sobre tipos aninhados.
class MyRemoteClass : System.MarshalByRefObject
{
	public MyRemoteClass()
	{ }

	public EmpDetail GetEmpInfo()
	{
		return new EmpDetail();
	}
}
neste exemplo, a classe EmpDetail está contida em outro assembly que é definida usando o exemplo de código seguinte.
[Serializable]
public class EmpDetail
{
	private string m_Id;
	private string m_description;

	public string Id
	{
		get 
		{ return m_Id; }
		set
		{ m_Id = value; }
	}

	public string Description
	{
		get
		{ return m_description; }
		set
		{ m_description = value; }
	}
}
neste exemplo, quando você examinar o WSDL gerado a partir do objeto remoto, você observe que há não informações de tipo para a propriedade ID ou para a propriedade Description .

Exemplo 2

Este exemplo é sobre os tipos incluem métodos sobrecarregados.

O código a seguir é no cliente.
using System;
class app 
{
    static void Main()
    {
	DogService ds = new DogService();
        Console.WriteLine(ds.Bark("steve", "citect"));
        Console.WriteLine(ds.Bark());
    }
}
O código a seguir é no servidor.
using System;
using System.Text;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Http;
using System.Threading;

public class Dog : MarshalByRefObject
{
    public string Bark()
    {
        return "woof";
    }
    public string Bark(string userName, string password)
    {
        return userName + password;
    }
}
class Program
{
    static void Main(string[] args)
    {
        HttpChannel ch = new HttpChannel(7777);
        ChannelServices.RegisterChannel(ch);
        string uri = string.Concat("b1/", typeof(Dog).Name);
        Console.WriteLine(uri);
        RemotingConfiguration.RegisterWellKnownServiceType(typeof(Dog), uri, WellKnownObjectMode.Singleton);
        Console.WriteLine("open for business");
        Console.ReadLine();
    }
}
Neste exemplo, quando você examinar o WSDL gerado a partir do objeto remoto, você pode receber uma exceção NullReferenceException quando você depurar a chamada de método sobrecarregado.

Resolução

Um hotfix suportado agora está disponível da Microsoft, mas destina-se somente a corrigir o problema descrito neste artigo. Aplique-o somente nos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde o próximo service pack do Microsoft .NET Framework 2.0 que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter o hotfix. Para obter uma lista completa de telefones do Atendimento Microsoft e informações sobre os custos de suporte da, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação Em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

Pré-requisitos

Para aplicar esse hotfix, você deve estar executando o .NET Framework 2.0.

Requisitos de reinicialização

Reinicie o computador após aplicar esse hotfix.

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

Esse hotfix não substitui outros hotfixes.

Informações sobre o arquivo

A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Mscordacwks.dll2.0.50727.97800,25607 De abril de 200603: 58x 86
Mscorlib.dll2.0.50727.974,317,18407 De abril de 200603: 58x 86
Mscorwks.dll2.0.50727.975,618,17607 De abril de 200603: 58x 86
Normalization.dll2.0.50727.9715.36007 De abril de 200603: 58x 86
Sos.dll2.0.50727.97377,34407 De abril de 200603: 58x 86
System.Data.dll2.0.50727.972,893,31207 De abril de 200603: 58x 86
System.Data.OracleClient.dll2.0.50727.97482,30407 De abril de 200603: 58x 86
System.dll2.0.50727.973,018,75207 De abril de 200603: 58x 86
System.Runtime.Remoting.dll2.0.50727.97294,91207 De abril de 200603: 58x 86

Situação

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

Mais Informações

Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Propriedades

ID do artigo: 917782 - Última revisão: segunda-feira, 3 de dezembro de 2007 - Revisão: 2.1
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 2.0
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Visual Studio 2005 Standard Edition
Palavras-chave: 
kbmt kbhotfixserver kbqfe kbpubtypekc KB917782 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: 917782

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