BasicHttpBinding.MaxBufferSize Özellik

Tanım

Kanaldan ileti alan arabellek için bayt cinsinden en büyük boyutu alır veya ayarlar.

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

Özellik Değeri

Int32

Bu bağlama ile yapılandırılmış bir uç nokta için işlenirken iletileri depolayan bir arabelleğin bayt cinsinden boyut üst sınırı. Varsayılan değer 65.536 bayttır.

Örnekler

Aşağıdaki örnek MaxBufferSize değerini 1.000.000 bayt olarak ayarlar.

BasicHttpBinding binding = new BasicHttpBinding();

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

Bu özelliğin değeri yapılandırma dosyasında da ayarlanabilir.

Açıklamalar

İşlendiği sırada iletiyi depolamak için arabellekte yeterli bellek yoksa, CLR yığınından daha fazla bellek ayrılmalıdır ve bu da çöp toplama ek yükünü artırır. CLR çöp yığınından kapsamlı ayırma, ileti arabelleği boyutunun çok küçük olduğunu ve performansın daha büyük bir ayırmayla iyileştirilebileceğinin göstergesidir.

MaxBufferSize özelliğinin değeri ve önemi, iletilerin alındıkları kanalda arabelleğe alınmasına veya akışa alınmasına bağlı olarak farklıdır:

Burada ayarlanan arabellek boyutu sınırlamaları, ileti alışverişlerinin performansını iyileştirmeye yöneliktir. İleti arabellek için ayarlanan en yüksek değeri aşarsa bırakılmaz. Bunun yerine, CLR yığınından daha fazla bellek istenir ve bu da arabellekleri kullanmaktan daha fazla çöp toplama yüküne neden olur.

Not

MaxBufferSize ve MaxReceivedMessageSize ayarları yerel davranış ayarlarıdır. Bu, meta verilerdeki diğer uç noktalara aktarılmadıkları anlamına gelir. Meta verilerden en fazla 2 GB ileti boyutuna sahip bir hizmete ara sunucu oluşturursanız, ara sunucu hala varsayılan değeri 64K'dır. Bu, yerel yöneticiler kapsamında ileti ve ileti arabelleği boyutu için uygun sınırların denetimini bırakır.

Şunlara uygulanır