BasicHttpBinding.MaxBufferPoolSize Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define a quantidade máxima de memória, em bytes, que é alocada para uso pelo gestor 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 de Propriedade
A quantidade máxima de memória, em bytes, disponível para uso pelo gestor de buffer de mensagens. O valor padrão é 524288 (0x80000) bytes.
Exemplos
O exemplo seguinte define esta propriedade para o dobro do valor padrão.
BasicHttpBinding binding = new BasicHttpBinding();
// Use double the default value
binding.MaxBufferPoolSize = 0x80000 * 2;
O valor desta propriedade também pode ser definido no ficheiro 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>
Observações
Isto BufferManager minimiza o custo de usar buffers ao usar um pool de buffers. Os buffers são obrigados a processar mensagens pelo serviço quando saem do canal. Se não houver memória suficiente no pool de buffer para processar a carga da mensagem, deve BufferManager alocar memória adicional do heap CLR, o que aumenta a sobrecarga da recolha de lixo. A alocação extensiva do pilho de lixo CLR indica que o tamanho do buffer pool é demasiado pequeno e que o desempenho pode ser melhorado com uma alocação maior aumentando o limite MaxBufferPoolSize.