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

可供訊息緩衝區管理員使用的最大記憶體量,單位為位元組。 預設值為 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 限制,以較大的配置來改善效能。

適用於