BasicHttpBinding.MaxBufferPoolSize Özellik

Tanım

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

Int64

İ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.

Şunlara uygulanır