MvcOptions.MaxModelBindingRecursionDepth 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 lub ustawia maksymalną głębokość rekursji systemu powiązań modelu. Element DefaultModelBindingContext będzie zgłaszać InvalidOperationException wartość , jeśli więcej niż ta liczba IModelBinders znajduje się na stosie. Oznacza to, że próba powtórzenia się poza tym poziomem zakończy się niepowodzeniem.
public:
property int MaxModelBindingRecursionDepth { int get(); void set(int value); };
public int MaxModelBindingRecursionDepth { get; set; }
member this.MaxModelBindingRecursionDepth : int with get, set
Public Property MaxModelBindingRecursionDepth As Integer
Wartość właściwości
Wartość domyślna to 32
, pasująca do wartości domyślnej MaxValidationDepth .
Uwagi
W przypadku niektórych modeli odwołujących się do siebie niektóre bindery mogą odnieść sukces bezwarunkowo, a powiązanie modelu może spowodować przepełnienie stosu. To ograniczenie ogranicza takie niezwiązane rekursje; jest to zabezpieczenie przed nieprawidłowymi powiązaniami modeli i modelami. Ten limit chroni również przed bardzo głębokimi hierarchiami typów modeli, które nie odwołują się do siebie.
Ten limit nie poprawia powiązanego modelu. InvalidOperationException Zamiast tego informuje dewelopera o problemie w modelu. Deweloper musi rozwiązać ten problem.
Bardzo wysoka wartość dla tej opcji (int.MaxValue
na przykład) skutecznie usuwa limit i nie jest zalecana.