BUG: 인해 예기치 않은 예외가 발생할 수 많은 양의 데이터 .NET Remoting 호출 전달

기술 자료 번역 기술 자료 번역
기술 자료: 322975 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

현상

.NET Remoting을 사용하여 클라이언트 및 서버 응용 프로그램 간의 메서드 매개 변수로 전달될 serialize할 수 있는 모든 형식의 인스턴스를 허용할 수 있습니다. 그러나 전달된 형식 인스턴스를 매우 큰 (수십 메가바이트) 경우 Remoting 많은 양의 가상 메모리를 소모하는 클라이언트와 예기치 않은 예외를 생성합니다. 예외 OutOfMemoryException 예외 또는 SocketException 예외가 될 수 있습니다. 또한 작업 관리자에서 볼 수 있듯이 커밋 충전 매우 높습니다.

원인

이 버그로 인해 .NET Remoting 시스템에서 있습니다.

해결 방법

이 문제를 해결하려면 적은 양의 데이터 사용하여 각 원격 호출 전달하십시오. Stream 개체를 메서드 매개 변수로 전달할 수도 있습니다. 스트림 개체는 MarshalByRefObject을 상속합니다. Stream 개체를 작은 청크 데이터를 검색할 수 있습니다.

현재 상태

Microsoft는 Microsoft 버그가 있음을 확인했습니다 이 문서의 시작 부분에 나열된 제품에.

추가 정보

아래 클래스 원격 호스트에서 호스팅되는 원격 클라이언트에서 메서드를 호출할 때 문제가 발생합니다. 다음 코드 단편은 문제를 보여 줍니다.

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

속성

기술 자료: 322975 - 마지막 검토: 2014년 2월 27일 목요일 - 수정: 4.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.0 서비스 팩 1
  • Microsoft .NET Framework 1.0 서비스 팩 2
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.1 Service Pack 1
키워드:?
kbnosurvey kbarchive kbmt kbbug kbremoting KB322975 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

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