Поделиться через


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 например) эффективно снимает ограничение и не рекомендуется.

Применяется к