BasicHttpBinding.MaxBufferPoolSize Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.