BasicHttpBinding.MaxBufferPoolSize Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define a quantidade máxima de memória, em bytes, alocada para uso pelo gerente dos buffers de mensagem 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
A quantidade máxima de memória, em bytes, disponível para uso pelo gerenciador de buffer de mensagens. 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 elas 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 abrangente 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 maxbufferPoolSize.