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.

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. El valor predeterminado es 524288 (0x80000) bytes.

Ejemplos

Los ejemplos siguientes establecen esta propiedad como el doble del valor predeterminado.

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.

<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. Es necesario que los búferes procesen los mensajes del servicio cuando salen del canal. 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. Una amplia asignación del montón de elementos no utilizados clR es una indicación de que el tamaño del grupo de búferes es demasiado pequeño y que el rendimiento se puede mejorar con una asignación mayor aumentando el límite de MaxBufferPoolSize.

Se aplica a