MvcOptions.MaxModelBindingRecursionDepth Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает максимальную глубину рекурсии системы привязки модели. Вызывает DefaultModelBindingContext исключение , InvalidOperationException если в стеке находится больше указанного IModelBinderчисла s. То есть попытка рекурсии за этот уровень завершится ошибкой.
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
Значение свойства
Значение по умолчанию — 32
, соответствующее значению по умолчанию MaxValidationDepth .
Комментарии
Для некоторых самонаправленных моделей некоторые связыватели могут выполняться безоговорочно, а привязка модели может привести к переполнению стека. Это ограничение ограничивает такую бесперебойную рекурсию; это защита от неправильных связывателей моделей и моделей. Это ограничение также защищает от очень глубоких иерархий типов модели, не имеющих ссылок на себя.
Это ограничение не исправляет привязанную модель. Вместо InvalidOperationException этого сообщает разработчику о проблеме в модели. Разработчик должен устранить эту проблему.
Очень высокое значение для этого параметра (int.MaxValue
например) эффективно снимает ограничение и не рекомендуется.