Condividi tramite


WSDualHttpBinding.MaxBufferPoolSize Proprietà

Definizione

Ottiene o imposta la quantità massima di memoria in byte che può essere allocata per il gestore dei buffer che ricevono i messaggi agli endpoint configurati con questa associazione.

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

Valore della proprietà

Dimensione massima, in byte, per il pool di buffer utilizzato da un endpoint configurato con questa associazione. Il valore predefinito è 524288 byte.

Esempio

Nell'esempio seguente viene illustrato come impostare MaxBufferPoolSize.

binding.MaxBufferPoolSize = 900000;
binding.MaxBufferPoolSize = 900000

Commenti

Il gestore BufferManager utilizza un pool di buffer per ridurre al minimo il costo legato all'utilizzo dei buffer. I buffer sono necessari per elaborare i messaggi provenienti dal servizio quando arrivano dal canale. Se la memoria allocata al pool di buffer per elaborare il carico dei messaggi risulta insufficiente, il gestore BufferManager deve attingere all'heap CLR per allocare memoria aggiuntiva, il che aumenta l'overhead del processo di garbage collection. Se la quantità di memoria aggiuntiva allocata in questo modo è notevolmente elevata, ciò significa che le dimensioni del pool di buffer sono troppo ridotte e che per migliorare le prestazioni è possibile allocare più risorse a tale pool mediante l'aumento del limite MaxBufferPoolSize.

Le limitazioni sulla dimensione del buffer impostate in questa proprietà consentono di ottimizzare le prestazioni degli scambi di messaggi. Se un messaggio supera il valore massimo definito per il buffer, non viene eliminato. Viene invece richiesta memoria aggiuntiva dall'heap CLR e questo genera un overhead del processo di Garbage Collection maggiore di quando si utilizzano i buffer.

Si applica a