Sdílet prostřednictvím


DataContractSerializer.MaxItemsInObjectGraph Vlastnost

Definice

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.

Platí pro