BasicHttpBinding.MaxBufferSize 屬性

定義

取得或設定自通道接收訊息的緩衝區大小上限 (以位元組為單位)。

public:
 property int MaxBufferSize { int get(); void set(int value); };
public int MaxBufferSize { get; set; }
member this.MaxBufferSize : int with get, set
Public Property MaxBufferSize As Integer

屬性值

Int32

儲存訊息之緩衝區的大小上限 (以位元組為單位)。在為此繫結設定的端點處理訊息時,可以將訊息儲存在緩衝區中。 預設值為 65,536 位元組。

範例

下列範例會將 MaxBufferSize 設定為 1,000,000 個位元組。

BasicHttpBinding binding = new BasicHttpBinding();

// set to one million
binding.MaxBufferSize = 1000000;

這個屬性的值也可以在組態檔中設定。

備註

如果在處理時緩衝區中沒有足夠的記憶體可以儲存訊息,就必須從 CLR 堆積配置額外的記憶體,因而增加記憶體回收負荷。 從 CLR 記憶體回收堆積所產生的大量配置表示緩衝區集區太小,而提供較大的配置便可改善效能。

MaxBufferSize 屬性及其重要性的值會根據訊息在接收的通道上緩衝處理或串流處理而有所不同:

此處針對緩衝區大小所設的限制是為了讓訊息交換的效能最佳化。 如果訊息超出設定的緩衝區上限值,訊息不會被捨棄。 相反地,系統會從 CLR 堆積要求更多記憶體,進而比使用緩衝區造成更多記憶體回收負荷。

注意

MaxBufferSize 和 MaxReceivedMessageSize 的設定是本機行為設定。 表示這些設定不會以中繼資料的方式傳送到其他端點。 當您從中繼資料產生服務的 Proxy 時,如果訊息大小上限為 2GB,則此 Proxy 的預設值仍為 64K, 讓訊息和訊息緩衝區大小適當限制的控制落在本機系統管理員的管轄範圍內。

適用於