BasicHttpBinding.MaxBufferSize Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví maximální velikost v bajtech vyrovnávací paměti, která přijímá zprávy z kanálu.
public:
property int MaxBufferSize { int get(); void set(int value); };
public int MaxBufferSize { get; set; }
member this.MaxBufferSize : int with get, set
Public Property MaxBufferSize As Integer
Hodnota vlastnosti
Maximální velikost vyrovnávací paměti, která ukládá zprávy během zpracování pro koncový bod nakonfigurovaný pomocí této vazby. Výchozí hodnota je 65 536 bajtů.
Příklady
Následující příklad nastaví MaxBufferSize na 1 000 000 bajtů.
BasicHttpBinding binding = new BasicHttpBinding();
// set to one million
binding.MaxBufferSize = 1000000;
Hodnotu této vlastnosti lze také nastavit v konfiguračním souboru.
Poznámky
Pokud ve vyrovnávací paměti není dostatek paměti pro uložení zprávy během zpracování, musí být z haldy CLR přiděleno více paměti, což zvyšuje režii uvolňování paměti. Rozsáhlé přidělení z haldy uvolňování paměti CLR znamená, že velikost vyrovnávací paměti zprávy je příliš malá a že výkon lze vylepšit větší přidělením.
Hodnota vlastnosti MaxBufferSize a její významnost se liší v závislosti na tom, jestli jsou zprávy uloženy do vyrovnávací paměti nebo streamovány v kanálu, prostřednictvím kterého se přijímají:
Pro přenosy do vyrovnávací paměti (TransferMode nastaveno na TransferMode.Buffered), tato hodnota je vždy rovna té určené MaxReceivedMessageSize vlastností.
U streamovaných přenosů (TransferMode nastavených na TransferMode.Streamed) musí být pro generování zprávy vygenerovány pouze hlavičky SOAP do vyrovnávací paměti. Tělo lze streamovat na vyžádání. V tomto případě je MaxBufferSize menší než nebo rovno MaxReceivedMessageSize, kde MaxReceivedMessageSize ohraničuje velikost celkové zprávy (záhlaví a textu) a MaxBufferSize hranice pouze velikost záhlaví SOAP.
Tady jsou omezení velikosti vyrovnávací paměti pro optimalizaci výkonu výměn zpráv. Pokud zpráva překročí maximální hodnotu nastavenou pro vyrovnávací paměť, nezahodí se. Místo toho je vyžadováno více paměti z haldy CLR a to způsobuje větší režii uvolňování paměti než použití vyrovnávací paměti.
Poznámka
Nastavení MaxBufferSize a MaxReceivedMessageSize jsou místní nastavení chování. To znamená, že se nepřenesou do jiných koncových bodů v metadatech. Pokud vygenerujete proxy server do služby s maximální velikostí zprávy 2 GB z metadat, proxy server má stále výchozí hodnotu 64 K. Tím ponecháte kontrolu nad příslušnými hranicemi pro velikost vyrovnávací paměti zpráv a zpráv v rozsahu místních správců.