Freigeben über


BasicHttpBinding.MaxBufferSize Eigenschaft

Definition

Ruft die maximale Größe in Byte für einen Puffer ab, der Nachrichten von einem Kanal empfängt.

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

Eigenschaftswert

Int32

Die maximale Größe eines Puffers in Byte, in dem Nachrichten gespeichert werden, während sie für einen mit dieser Bindung konfigurierten Endpunkt verarbeitet werden. Der Standardwert ist 65.536 Bytes.

Beispiele

Im folgenden Beispiel wird MaxBufferSize auf 1.000.000 Bytes festgelegt.

BasicHttpBinding binding = new BasicHttpBinding();

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

Der Wert dieser Eigenschaft kann auch in der Konfigurationsdatei festgelegt werden.

Hinweise

Wenn die Speicherkapazität des Puffers zum Speichern der Nachricht während der Verarbeitung nicht ausreicht, muss aus dem CLR-Heap zusätzliche Speicherkapazität zugewiesen werden. Dadurch wird die Auslastung der Garbage Collection erhöht. Eine umfangreiche Zuweisung aus dem CLR-Heap der Garbage Collection weist darauf hin, dass die Größe des Nachrichtenpuffers nicht ausreichend ist und dass die Leistung durch eine größere Zuweisung infolge einer höheren Zuweisung verbessert werden kann.

Der Wert der MaxBufferSize-Eigenschaft und deren Bedeutung unterscheiden sich je nachdem, ob die Nachrichten auf dem Kanal gepuffert oder gestreamt werden, über den sie empfangen werden:

Die hier vorgenommenen Einschränkungen der Puffergröße dienen zum Optimieren der Leistung des Nachrichtenaustauschs. Wenn eine Nachricht den maximal zulässigen Wert für den Puffer überschreitet, wird sie nicht verworfen. Stattdessen wird mehr Speicherplatz aus dem CLR-Heap angefordert, was die Auslastung der Garbage Collection stärker erhöht als die Verwendung der Puffer.

Hinweis

Die Einstellungen für MaxBufferSize und MaxReceivedMessageSize sind lokale Verhaltenseinstellungen. Dies bedeutet, dass sie nicht in Metadaten an andere Endpunkte übertragen werden. Wenn Sie einen Dienstproxy mit einer maximalen Nachrichtengröße von 2 GB für Metadaten erstellen, weist der Proxy auch weiterhin einen Standardwert von 64 KB auf. Lokale Administratoren können so die entsprechenden Grenzwerte für Nachrichten und Nachrichtenpuffer kontrollieren.

Gilt für