NetMsmqBinding.MaxBufferPoolSize 屬性
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定配置供從通道接收訊息之訊息緩衝區管理員使用的最大記憶體量。
public:
property long MaxBufferPoolSize { long get(); void set(long value); };
C#
public long MaxBufferPoolSize { get; set; }
member this.MaxBufferPoolSize : int64 with get, set
Public Property MaxBufferPoolSize As Long
可供訊息緩衝區管理員使用的最大記憶體量,單位為位元組。 預設值為 524288 (0x80000) 位元組。
下列程式碼會示範如何設定 MaxBufferPoolSize 屬性。
C#
NetMsmqBinding binding = new NetMsmqBinding();
binding.MaxBufferPoolSize = 524000L;
BufferManager 利用緩衝區集區將使用緩衝區的成本降至最低。 當訊息從通道送出時,服務將需要緩衝區來處理訊息。 如果緩衝區集區中沒有足夠的記憶體可以處理訊息負載,BufferManager 就必須從 CLR 堆積配置額外的記憶體,進而增加記憶體回收負荷。 從 CLR 記憶體回收堆積所產生的大量配置表示緩衝區集區太小,而提高 MaxBufferPoolSize 上限來提供較大的配置便可改善效能。
產品 | 版本 |
---|---|
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |