BasicHttpBinding.MaxBufferSize 속성

정의

채널에서 메시지를 받는 버퍼의 최대 크기(바이트)를 가져오거나 설정합니다.

public:
 property int MaxBufferSize { int get(); void set(int value); };
public int MaxBufferSize { get; set; }
member this.MaxBufferSize : int with get, set
Public Property MaxBufferSize As Integer

속성 값

이 바인딩으로 구성된 엔드포인트에 대해 처리되는 동안 메시지를 저장하는 버퍼의 최대 크기(바이트)입니다. 기본값은 65,536바이트입니다.

예제

다음 예제에서는 MaxBufferSize 를 1,000,000바이트로 설정합니다.

BasicHttpBinding binding = new BasicHttpBinding();

// set to one million
binding.MaxBufferSize = 1000000;

이 속성의 값은 구성 파일에서도 설정할 수 있습니다.

설명

메시지를 처리하는 동안 버퍼에 메모리가 충분하지 않으면 CLR 힙에서 더 많은 메모리를 할당해야 하므로 가비지 수집 오버헤드가 증가합니다. CLR 가비지 힙에서 광범위한 할당은 메시지 버퍼 크기가 너무 작고 더 큰 할당으로 성능을 향상시킬 수 있음을 나타냅니다.

MaxBufferSize 속성의 값과 해당 중요성은 메시지가 수신되는 채널에서 버퍼링 또는 스트리밍되는지 여부에 따라 다릅니다.

여기에 설정된 버퍼 크기에 대한 제한 사항은 메시지 교환의 성능을 최적화하기 위한 것입니다. 메시지가 버퍼에 대해 설정된 최대값을 초과하면 삭제되지 않습니다. 대신 CLR 힙에서 더 많은 메모리가 요청되고 버퍼를 사용하는 것보다 가비지 수집 오버헤드가 더 많이 발생합니다.

메모

MaxBufferSize 및 MaxReceivedMessageSize에 대한 설정은 로컬 동작 설정입니다. 즉, 메타데이터의 다른 엔드포인트로 전송되지 않습니다. 메타데이터에서 최대 메시지 크기가 2GB인 서비스에 프록시를 생성하는 경우 프록시의 기본값은 64K입니다. 이렇게 하면 로컬 관리자 범위에서 메시지 및 메시지 버퍼 크기에 대한 적절한 범위를 제어할 수 있습니다.

적용 대상