WSDualHttpBinding.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 pode ser alocada ao gestor de buffers de mensagens que recebem mensagens nos endpoints configurados com esta ligação.
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
O tamanho máximo, em bytes, para o conjunto de buffers usado por um endpoint configurado com esta ligação. O valor padrão é 524288 bytes.
Exemplos
O exemplo seguinte mostra como definir o MaxBufferPoolSize.
binding.MaxBufferPoolSize = 900000;
binding.MaxBufferPoolSize = 900000
Observações
Isto BufferManager minimiza o custo de usar buffers com um buffer pool. 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 a partir do monte 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 MaxBufferPoolSize limite.
As limitações ao tamanho do buffer aqui definidas servem para otimizar o desempenho das trocas de mensagens. Se uma mensagem exceder o valor máximo definido para o buffer, ela não é descartada. Em vez disso, é solicitada mais memória ao heap CLR e isso gera mais sobrecarga de recolha de lixo do que a utilização dos buffers.