BasicHttpBinding.MaxBufferPoolSize Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.