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

İ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ına 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

, BufferManager arabellek havuzu kullanarak arabellekleri kullanma maliyetini en aza indirir. Arabellekler, kanaldan çıktıklarında hizmet tarafından iletileri 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 geliştirilebileceğinin bir göstergesidir.

Şunlara uygulanır