BasicHttpBinding.MaxBufferPoolSize Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kanaldan ileti alan ileti arabelleklerinin yöneticisi tarafından kullanılmak üzere ayrılan maksimum bellek miktarını bayt cinsinden alır veya ayarlar.
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
Özellik Değeri
İleti arabelleği yöneticisi tarafından kullanılabilen bayt cinsinden maksimum bellek miktarı. Varsayılan değer 524288 (0x80000) bayttır.
Örnekler
Aşağıdaki örnek, bu özelliği varsayılan değerin iki katı olarak ayarlar.
BasicHttpBinding binding = new BasicHttpBinding();
// Use double the default value
binding.MaxBufferPoolSize = 0x80000 * 2;
Bu özelliğin değeri yapılandırma dosyasında da ayarlanabilir.
<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>
Açıklamalar
arabellek BufferManager havuzu kullanarak arabellekleri kullanma maliyetini en aza indirir. Arabellekler, kanaldan çıkan iletileri hizmet tarafından işlemek için gereklidir. Arabellek havuzunda ileti yükünü işlemek için yeterli bellek yoksa, BufferManager CLR yığınından ek bellek ayırması gerekir ve bu da çöp toplama ek yükünü artırır. CLR çöp yığınından kapsamlı ayırma, arabellek havuzu boyutunun çok küçük olduğunu ve MaxBufferPoolSize sınırını artırarak performansın daha büyük bir ayırmayla iyileştirilebileceğinin bir göstergesidir.