BasicHttpBinding.MaxBufferPoolSize Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает число, определяющее максимальный объем памяти (в байтах), выделяемый диспетчером буфера сообщений, принимающим сообщения из канала.
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
Значение свойства
Максимальный объем памяти (в байтах), доступный для использования диспетчером буфера сообщений. Значение по умолчанию - 524 288 (0x80 000) байт.
Примеры
В следующем примере кода этому свойству дважды присваивается значение по умолчанию.
BasicHttpBinding binding = new BasicHttpBinding();
// Use double the default value
binding.MaxBufferPoolSize = 0x80000 * 2;
Значение этого свойства также может быть задано в файле конфигурации.
<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>
Комментарии
Диспетчер буферов BufferManager минимизирует затраты на использование буферов с помощью буферного пула. Буферы требуются для обработки службой сообщений, приходящих из канала. Если в буферном пуле недостаточно памяти для обработки потока сообщений диспетчер BufferManager должен выделить дополнительную память из кучи CLR что увеличивает время сборки мусора. Обширное выделение из кучи мусора среды CLR свидетельствует о том, что размер буферного пула слишком мал и что производительность может быть улучшена с большим выделением путем увеличения ограничения MaxBufferPoolSize.