DataContractSerializer.MaxItemsInObjectGraph 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á maximální počet položek v grafu objektu serializovat nebo deserializovat.
public:
property int MaxItemsInObjectGraph { int get(); };
public int MaxItemsInObjectGraph { get; }
member this.MaxItemsInObjectGraph : int
Public ReadOnly Property MaxItemsInObjectGraph As Integer
Hodnota vlastnosti
Maximální počet položek, které se mají serializovat nebo deserializovat. Výchozí hodnota je Int32.MaxValue.
Výjimky
Počet položek překračuje maximální hodnotu.
Poznámky
Tuto vlastnost lze nastavit v konfiguraci nebo imperativním způsobem v kódu. Pokud ho chcete nastavit v konfiguraci, přidejte do oddílu behaviors vlastní chování a přidejte následující nastavení.
<behaviors> <behavior name="MyServiceBehavior"> <dataContractSerializer maxItemsInObjectGraph="3" /> </behavior></behaviors>
Pokud chcete tuto vlastnost imperativním způsobem nastavit v kódu, vyhledejte popis operace služby, pak získejte chování operace a nakonec nastavte vlastnost, jak je znázorněno v následujícím kódu.
OperationDescription operation = host.Description.Endpoints[0].Contract.Operations.Find("MyOperationName");operation.Behaviors.Find<DataContractSerializerOperationBehavior>().MaxItemsInObjectGraph = 3;
Vlastnost MaxItemsInObjectGraph určuje maximální počet objektů, které serializátor serializuje nebo deserializuje v jednom ReadObject volání metody. (Metoda vždy čte jeden kořenový objekt, ale tento objekt může mít jiné objekty ve svých datových členech. Tyto objekty mohou mít jiné objekty atd.) Výchozí hodnota je MaxValue. Všimněte si, že při serializaci nebo deserializaci polí se každá položka pole počítá jako samostatný objekt. Všimněte si také, že některé objekty můžou mít velkou reprezentaci paměti, takže samotná tato kvóta nemusí být dostatečná k tomu, aby se zabránilo útokům na odepření služby. Další informace najdete v tématu Důležité informace o zabezpečení dat. Pokud potřebujete tuto kvótu navýšit nad její výchozí hodnotu, je důležité to udělat jak na straně odesílání (serializace), tak na straně příjmu (deserializace). Používá se při čtení i zápisu dat.