DataContractSerializer.MaxItemsInObjectGraph Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera maksymalną liczbę elementów na grafie obiektu w celu serializacji lub deserializacji.
public:
property int MaxItemsInObjectGraph { int get(); };
public int MaxItemsInObjectGraph { get; }
member this.MaxItemsInObjectGraph : int
Public ReadOnly Property MaxItemsInObjectGraph As Integer
Wartość właściwości
Maksymalna liczba elementów do serializacji lub deserializacji. Wartość domyślna to Int32.MaxValue.
Wyjątki
Liczba elementów przekracza maksymalną wartość.
Uwagi
Tę właściwość można ustawić w konfiguracji lub imperatywnie w kodzie. Aby ustawić ją w konfiguracji, dodaj niestandardowe zachowanie do sekcji zachowania i dodaj następujące ustawienie.
<behaviors> <behavior name="MyServiceBehavior"> <dataContractSerializer maxItemsInObjectGraph="3" /> </behavior></behaviors>
Aby ustawić tę właściwość imperatywnie w kodzie, znajdź opis operacji usługi, a następnie pobierz zachowanie operacji, na koniec ustaw właściwość, jak pokazano w poniższym kodzie.
OperationDescription operation = host.Description.Endpoints[0].Contract.Operations.Find("MyOperationName");operation.Behaviors.Find<DataContractSerializerOperationBehavior>().MaxItemsInObjectGraph = 3;
Właściwość MaxItemsInObjectGraph określa maksymalną liczbę obiektów, które serializuje serializator lub deserializuje w wywołaniu pojedynczej ReadObject metody. (Metoda zawsze odczytuje jeden obiekt główny, ale ten obiekt może mieć inne obiekty w jego elementach członkowskich danych. Te obiekty mogą mieć inne obiekty itd.) Wartość domyślna to MaxValue. Należy pamiętać, że podczas serializacji lub deserializacji tablic każdy wpis tablicy liczy się jako oddzielny obiekt. Należy również pamiętać, że niektóre obiekty mogą mieć dużą reprezentację pamięci, dlatego ten limit przydziału może nie być wystarczający, aby zapobiec atakom typu "odmowa usługi". Aby uzyskać więcej informacji, zobacz Zagadnienia dotyczące zabezpieczeń danych. Jeśli musisz zwiększyć ten limit przydziału poza jego wartość domyślną, ważne jest, aby to zrobić zarówno na stronach wysyłania (serializacji) i odbierania (deserializacji). Ma zastosowanie zarówno podczas odczytywania, jak i zapisywania danych.
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla