Erro: Passar grandes quantidades de dados no .NET Remoting chamadas provoca uma excepção inesperada ocorrer

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.

322975
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Sintomas
Pode utilizar o .NET Remoting para permitir instâncias de qualquer tipo que podem ser serializados sejam passadas como parâmetros de método entre o cliente e as aplicações de servidor. No entanto, se a instância de tipo que é transmitida é muito grandes (dezenas de megabytes), o cliente Remoting consome grandes quantidades de memória virtual e, em seguida, gera excepções inesperadas. As excepções podem ser OutOfMemoryException excepção ou SocketException excepção. O encargo de consolidação como apresentado no Gestor de tarefas também é muito alto.
Causa
Esta é devido a um erro de sistema .NET Remoting.
Resolução
Para contornar este problema, passe quantidades mais pequenas de dados com cada chamada controlado remotamente. Também pode transmitir um objecto de transmissão em sequência como um parâmetro de método. objectos de sequência herdam MarshalByRefObject . Pode utilizar o objecto de sequência para obter dados em secções mais pequenas.
Ponto Da Situação
A Microsoft confirmou que este é um erro no Microsoft produtos listados no início deste artigo.
Mais Informação
Quando a classe abaixo hospedada num anfitrião Remoting e o método for chamado por um cliente Remoting, ocorre o problema. O fragmento de código seguinte demonstra o problema:

	public class MBRClass : MarshalByRefObject	{		public byte[] GetBigByteArray ()		{			byte[] byteArray = new byte[60000000] ;			return byteArray ;		}	}				

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 322975 - Última Revisão: 02/27/2014 15:59:27 - Revisão: 4.4

  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.1 Service Pack 1
  • kbnosurvey kbarchive kbmt kbbug kbremoting KB322975 KbMtpt
Esta informação foi útil?