Compartilhar via


BasicHttpBinding.MaxBufferPoolSize Propriedade

Definição

Obtém ou define a quantidade máxima de memória, em bytes, alocada para uso do gerenciador dos buffers de mensagens que recebem mensagens do canal.

public:
 property long MaxBufferPoolSize { long get(); void set(long value); };
public long MaxBufferPoolSize { get; set; }
member this.MaxBufferPoolSize : int64 with get, set
Public Property MaxBufferPoolSize As Long

Valor da propriedade

Int64

A quantidade máxima de memória, em bytes, disponível para uso do gerenciador de buffer de mensagem. O valor padrão é 524288 (0x80000) bytes.

Exemplos

O exemplo a seguir define essa propriedade como o dobro do valor padrão.

BasicHttpBinding binding = new BasicHttpBinding();
// Use double the default value
binding.MaxBufferPoolSize = 0x80000 * 2;

O valor dessa propriedade também pode ser definido no arquivo de configuração.

<configuration>
  <system.serviceModel>

    <bindings>
      <basicHttpBinding>
        <binding name="Binding1">

          <!-- set pool size to double default of 0x80000 -->
          maxBufferPoolSize = 0x100000

          <security mode="None" />
        </binding>
      </basicHttpBinding>
    </bindings>

  </system.serviceModel>

</configuration>

Comentários

Minimiza BufferManager o custo do uso de buffers usando um pool de buffers. Os buffers são necessários para processar mensagens pelo serviço quando saem do canal. Se não houver memória suficiente no pool de buffers para processar a carga da mensagem, será BufferManager necessário alocar memória adicional do heap CLR, o que aumenta a sobrecarga da coleta de lixo. A alocação extensiva do heap de lixo CLR é uma indicação de que o tamanho do pool de buffers é muito pequeno e que o desempenho pode ser melhorado com uma alocação maior aumentando o limite de MaxBufferPoolSize.

Aplica-se a