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

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

Максимальный объем памяти в байтах, доступный для использования диспетчером буферов сообщений. Значение по умолчанию — 524288 (0x80000) байтов.

Примеры

В следующем примере это свойство присваивается два раза больше значения по умолчанию.

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.

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