BasicHttpBinding.MaxBufferPoolSize Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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.