Compartilhar via


BasicHttpBinding.MaxBufferSize Propriedade

Definição

Obtém ou define o tamanho máximo, em bytes, para um buffer que recebe mensagens do canal.

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

Valor da propriedade

Int32

O tamanho máximo, em bytes, de um buffer que armazena mensagens enquanto elas são processadas para um ponto de extremidade configurado com essa associação. O valor padrão é 65.536 bytes.

Exemplos

O exemplo a seguir define MaxBufferSize como 1.000.000 bytes.

BasicHttpBinding binding = new BasicHttpBinding();

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

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

Comentários

Se não houver memória suficiente no buffer para armazenar a mensagem enquanto ela é processada, mais memória deve ser alocada 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 buffer de mensagem é muito pequeno e que o desempenho pode ser melhorado com uma alocação maior.

O valor da propriedade MaxBufferSize e sua significância são diferentes dependendo se as mensagens estão sendo armazenadas em buffer ou transmitidas no canal pelo qual estão sendo recebidas:

As limitações no tamanho do buffer definidas aqui são para otimizar o desempenho das trocas de mensagens. Se uma mensagem exceder o valor máximo definido para o buffer, ela não será descartada. Em vez disso, mais memória é solicitada do heap clr e isso incorre em mais sobrecarga de coleta de lixo do que usando os buffers.

Observação

As configurações de MaxBufferSize e MaxReceivedMessageSize são configurações comportamentais locais. Isso significa que eles não são transmitidos para outros pontos de extremidade em metadados. Se você gerar um proxy para um serviço com um tamanho máximo de mensagem de 2 GB de metadados, o proxy ainda terá um valor padrão de 64K. Isso deixa o controle dos limites apropriados para o tamanho do buffer de mensagens e mensagens no escopo dos administradores locais.

Aplica-se a