Udostępnij za pośrednictwem


BasicHttpBinding.MaxBufferPoolSize Właściwość

Definicja

Pobiera lub ustawia maksymalną ilość pamięci w bajtach przydzieloną do użycia przez menedżera buforów komunikatów, które odbierają komunikaty z kanału.

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

Wartość właściwości

Int64

Maksymalna ilość pamięci w bajtach dostępna do użycia przez menedżera buforów komunikatów. Wartość domyślna to 524288 (0x80000) bajtów.

Przykłady

Poniższy przykład ustawia tę właściwość na dwa razy większą niż wartość domyślna.

BasicHttpBinding binding = new BasicHttpBinding();
// Use double the default value
binding.MaxBufferPoolSize = 0x80000 * 2;

Wartość tej właściwości można również ustawić w pliku konfiguracji.

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

Uwagi

Minimalizuje BufferManager koszt używania buforów przy użyciu puli buforów. Bufory są wymagane do przetwarzania komunikatów przez usługę, gdy wyjdą z kanału. Jeśli w puli buforów nie ma wystarczającej ilości pamięci do przetworzenia obciążenia komunikatów, BufferManager należy przydzielić dodatkową pamięć ze stertu CLR, co zwiększa obciążenie odzyskiwania pamięci. Obszerna alokacja sterty pamięci CLR jest wskazaniem, że rozmiar puli buforów jest zbyt mały i że wydajność można poprawić przy użyciu większej alokacji przez zwiększenie limitu MaxBufferPoolSize.

Dotyczy