Udostępnij za pośrednictwem


MvcOptions.MaxModelBindingRecursionDepth Właściwość

Definicja

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.

Dotyczy