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

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

Nesta página

Sintomas

Quando utiliza a classe HttpChannel remoto de um objecto numa aplicação do Microsoft .NET Framework 2.0 Remoting, o WSDL Web Services Description Language () que é gerado do objecto remoto poderá não incluir informações de tipos aninhados tipo ou para tipos incluem sobrecarregado métodos no objecto remoto. Por exemplo, pode utilizar código semelhante os seguintes exemplos de código para o objecto 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 numa outra assemblagem é definida utilizando o seguinte exemplo de código.
[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 examinar o WSDL gerado do objecto remoto, repara que existe sem informações de tipo para a propriedade ID ou para a propriedade Description .

Exemplo 2

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

O código seguinte é 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 seguinte é 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 examina o WSDL gerado do objecto remoto, poderá receber uma excepção NullReferenceException quando passo sobre a chamada de método sobrecarregado.

Resolução

Agora é disponibilizada pela Microsoft uma correcção suportada, mas destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack do Microsoft .NET Framework 2.0 que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa de números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.

Pré-requisitos

Para aplicar esta correcção, tem de ter o .NET Framework 2.0.

Requisito de reinício

Tem de reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui quaisquer outras correcções.

Informações do ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário no item Data e hora no painel de controlo.
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Mscordacwks.dll2.0.50727.97800,25607-Abr-200603: 58x 86
Mscorlib.dll2.0.50727.974,317,18407-Abr-200603: 58x 86
Mscorwks.dll2.0.50727.975,618,17607-Abr-200603: 58x 86
Normalization.dll2.0.50727.9715,36007-Abr-200603: 58x 86
Sos.dll2.0.50727.97377,34407-Abr-200603: 58x 86
System.data.dll2.0.50727.972,893,31207-Abr-200603: 58x 86
System.data.OracleClient.dll2.0.50727.97482,30407-Abr-200603: 58x 86
System.dll2.0.50727.973,018,75207-Abr-200603: 58x 86
System.Runtime.Remoting.dll2.0.50727.97294,91207-Abr-200603: 58x 86

Ponto Da Situação

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

Mais Informação

Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 917782 - Última revisão: 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
  • 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 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: 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