DetailPage-MSS-KB

Base de Dados de Conhecimento

Artigo: 917782 - Última revisão: segunda-feira, 3 de Dezembro de 2007 - Revisão: 2.1

Disponível transferência de hotfix
Ver e solicitar transferências de hotfix
 
 

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 (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:
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

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á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 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  (http://support.microsoft.com/kb/917782/en-us/ )
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft