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 k serializaci nebo deserializaci. 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í v kódu. Pokud ho chcete nastavit v konfiguraci, přidejte do části chování vlastní chování a přidejte následující nastavení.

<behaviors>
    <behavior name="MyServiceBehavior">
        <dataContractSerializer maxItemsInObjectGraph="3" />
    </behavior>
</behaviors>

Chcete-li nastavit tuto vlastnost imperativní 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 mohou mít velkou reprezentaci paměti, a proto tato kvóta nemusí být dostatečná, aby se zabránilo útokům DoS. Pro více informací, viz Bezpečnostní úvahy týkající se dat. Pokud potřebujete tuto kvótu zvýšit nad rámec výchozí hodnoty, je důležité to udělat jak na straně odesílání (serializace), tak na straně příjmu (deserializace). Platí pro čtení i zápis dat.

Platí pro