Error: Pasar grandes cantidades de datos en las llamadas de .NET Remoting ocasiona una excepción inesperada

Seleccione idioma Seleccione idioma
Id. de artículo: 322975 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Síntomas

Puede utilizar .NET Remoting para permitir instancias de cualquier tipo que se pueden serializar que se pasan como parámetros de método entre el cliente y las aplicaciones de servidor. Sin embargo, si la instancia del tipo que se pasa es muy grandes (decenas de megabytes), el cliente de servicios remotos consume gran cantidad de memoria virtual y, a continuación, genera excepciones inesperadas. Las excepciones pueden ser excepción OutOfMemoryException o excepción SocketException. El cargo de confirmación, tal como se muestra en el Administrador de tareas también es muy alto.

Causa

Esto es debido un error en el sistema .NET Remoting.

Solución

Para evitar este problema, pase pequeñas cantidades de datos con cada llamada remota. También puede pasar un objeto Stream como un parámetro de método. objetos de secuencia heredan MarshalByRefObject . Puede utilizar el objeto Stream para recuperar datos en fragmentos más pequeños.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados al principio de este artículo.

Más información

Cuando la clase siguiente está alojada en un host de servicios remotos y se llama al método por un cliente de Remoting, se produce el problema. El fragmento de código siguiente muestra el problema:

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

Propiedades

Id. de artículo: 322975 - Última revisión: jueves, 27 de febrero de 2014 - Versión: 4.4
La información de este artículo se refiere 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
Palabras clave: 
kbnosurvey kbarchive kbmt kbbug kbremoting KB322975 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 322975

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