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) バイトです。
例
次の例では、このプロパティを既定値の 2 倍に設定します。
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 の制限を増やすことで割り当てが大きくなるほどパフォーマンスを向上できることを示しています。