BasicHttpBinding.MaxBufferPoolSize Propiedad

Definición

Obtiene o establece la cantidad de memoria máxima, en bytes, que se asigna para que la use el administrador de los búferes de mensajes que reciben los mensajes del canal.Gets or sets the maximum amount of memory, in bytes, that is allocated for use by the manager of the message buffers that receive messages from the channel.

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 propiedad

Int64

Cantidad de memoria máxima, en bytes, disponible para que la use el administrador de búferes de mensajes.The maximum amount of memory, in bytes, available for use by the message buffer manager. El valor predeterminado es 524288 (0x80000) bytes.The default value is 524288 (0x80000) bytes.

Ejemplos

Los ejemplos siguientes establecen esta propiedad como el doble del valor predeterminado.The following example sets this property to twice the default value.

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

El valor de esta propiedad también puede establecerse en el archivo de configuración.The value of this property can also be set in the configuration file.

<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>

Comentarios

BufferManager reduce el costo que supone utilizar los búferes con un grupo de búferes.The BufferManager minimizes the cost of using buffers by using a buffer pool. Es necesario que los búferes procesen los mensajes del servicio cuando salen del canal.Buffers are required to process messages by the service when they come out of the channel. Si no hay memoria suficiente en el grupo de búferes para procesar la carga de mensajes, BufferManager debe asignar memoria adicional del montón CLR, lo que aumenta la carga de trabajo de la recolección de elementos no utilizados.If there is not sufficient memory in the buffer pool to process the message load, the BufferManager must allocate additional memory from the CLR heap, which increases the garbage collection overhead. Una amplia asignación del montón de elementos no utilizados de CLR es una indicación de que el tamaño del grupo de búferes es demasiado pequeño y de que el rendimiento se puede mejorar con una asignación mayor aumentando el límite de MaxBufferPoolSize.Extensive allocation from the CLR garbage heap is an indication that the buffer pool size is too small and that performance can be improved with a larger allocation by increasing the MaxBufferPoolSize limit.

Se aplica a