BasicHttpBinding.MaxBufferPoolSize 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定配置供訊息緩衝區管理員使用的最大記憶體量 (以位元組為單位),其中訊息緩衝區會從通道接收訊息。
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 限制,以較大的配置來改善效能。