BasicHttpBinding.MaxBufferPoolSize Egenskap

Definition

Hämtar eller anger den maximala mängden minne, i byte, som allokeras för användning av chefen för de meddelandebuffertar som tar emot meddelanden från kanalen.

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

Egenskapsvärde

Den maximala mängden minne, i byte, som är tillgängligt för användning av meddelandebufferthanteraren. Standardvärdet är 524288 byte (0x80000).

Exempel

I följande exempel anges den här egenskapen till dubbelt så mycket som standardvärdet.

BasicHttpBinding binding = new BasicHttpBinding();
// Use double the default value
binding.MaxBufferPoolSize = 0x80000 * 2;

Värdet för den här egenskapen kan också anges i konfigurationsfilen.

<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>

Kommentarer

Minimerar BufferManager kostnaden för att använda buffertar med hjälp av en buffertpool. Buffertar krävs för att bearbeta meddelanden från tjänsten när de kommer ut ur kanalen. Om det inte finns tillräckligt med minne i buffertpoolen för att bearbeta meddelandebelastningen BufferManager måste du allokera ytterligare minne från CLR-heapen, vilket ökar kostnaderna för skräpinsamlingen. Omfattande allokering från CLR-skräphögen är en indikation på att buffertpoolens storlek är för liten och att prestanda kan förbättras med en större allokering genom att öka MaxBufferPoolSize-gränsen.

Gäller för