次の方法で共有


WSDualHttpBinding.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 バイトです。

MaxBufferPoolSize を設定する方法を次の例に示します。

binding.MaxBufferPoolSize = 900000;
binding.MaxBufferPoolSize = 900000

注釈

BufferManager は、バッファー プールを使用することで、バッファーの使用コストを最小化します。 バッファーは、チャネルから出てくるメッセージをサービスが処理するときに必要です。 メッセージの読み込み処理に十分なメモリがバッファー プールにない場合、BufferManager は、CLR ヒープから追加のメモリを割り当てる必要があります。これにより、ガベージ コレクションのオーバーヘッドが増加します。 CLR ガベージ ヒープから多大な割り当てが行われることは、バッファー プール サイズが小さすぎること、および MaxBufferPoolSize の制限を緩めて割り当てを増やすとパフォーマンスが向上する可能性があることを示します。

ここで設定されるバッファー サイズに対する制限は、メッセージ交換のパフォーマンスを最適化するためのものです。 メッセージがバッファーに設定された最大値を超える場合に、メッセージが失われることはありません。 この場合は、CLR ヒープからのメモリがより多く要求され、これによりバッファーの使用時よりも多くのガベージ コレクションのオーバーヘッドが生じます。

適用対象