BasicHttpBinding.MaxBufferSize Proprietà

Definizione

Ottiene o imposta la dimensione massima in byte per un buffer che riceve messaggi dal canale.

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

Valore della proprietà

Int32

Dimensione massima, in byte, di un buffer che memorizza i messaggi mentre vengono elaborati per un endpoint configurato con questa associazione. L'impostazione predefinita è 65.536 byte.

Esempio

L'esempio seguente imposta MaxBufferSize su 1.000.000 byte.

BasicHttpBinding binding = new BasicHttpBinding();

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

Il valore di questa proprietà può essere impostato anche nel file di configurazione.

Commenti

Se la memoria nel pool di buffer non è sufficiente per memorizzare il messaggio durante l'elaborazione, è necessario allocare altra memoria dall'heap CLR, aumentando l'overhead del processo di Garbage Collection. Se la quantità di memoria aggiuntiva allocata in questo modo è elevata, le dimensioni del buffer del messaggio sono troppo ridotte e per migliorare le prestazioni è possibile allocare più risorse.

Il valore della proprietà MaxBufferSize e il relativo significato è diverso a seconda che i messaggi vengano memorizzati nel buffer o trasmessi nel canale tramite cui vengono ricevuti:

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.

Nota

Le impostazioni per MaxBufferSize e MaxReceivedMessageSize sono impostazioni comportamentali locali. Significa che non vengono trasmesse agli altri endpoint nei metadati. Se dai metadati viene generato un proxy in un servizio con una dimensione del messaggio massima di 2 GB, il proxy dispone ancora di un valore predefinito di 64 K. In tal modo, il controllo dei limiti appropriati per i messaggi e per la dimensione del buffer dei messaggi viene lasciato agli amministratori locali.

Si applica a