Erro: Passar grandes quantidades de dados em .NET Remoting chamadas faz com que uma exceção inesperada ocorrer

Traduções deste artigo Traduções deste artigo
ID do artigo: 322975 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Sintomas

Você pode usar o .NET Remoting para permitir que instâncias de qualquer tipo que pode ser serializado para ser passados como parâmetros de método entre o cliente e os aplicativos de servidor. No entanto, se a instância do tipo que é passada é muito grandes (dezenas de megabytes), o cliente remoto consome grandes quantidades de memória virtual e, em seguida, gera exceções inesperadas. As exceções podem ser OutOfMemoryException exceção ou SocketException exceção. O encargo de confirmação, como visto no Gerenciador de tarefas também é muito alto.

Causa

Isso é devido a um erro no sistema de .NET Remoting.

Resolução

Para contornar este problema, passe menores quantidades de dados com cada chamada remoto. Você também pode passar um objeto de fluxo como um parâmetro do método. fluxo objetos herdam MarshalByRefObject . Você pode usar o objeto Stream para recuperar dados em partes menores.

Situação

A Microsoft confirmou que este é um bug no Microsoft produtos que estão listados no início deste artigo.

Mais Informações

Quando a classe abaixo é hospedada em um host remoto e o método é chamado por um cliente remoto, o problema ocorre. O fragmento de código a seguir demonstra o problema:

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

Propriedades

ID do artigo: 322975 - Última revisão: quinta-feira, 27 de fevereiro de 2014 - Revisão: 4.4
A informação contida neste artigo aplica-se a:
  • 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
Palavras-chave: 
kbnosurvey kbarchive kbmt kbbug kbremoting KB322975 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: 322975

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