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

Значение свойства

Int64

Максимальный объем памяти (в байтах), доступный для использования диспетчером буфера сообщений. Значение по умолчанию - 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.

Применяется к