Compartir a través de


MvcOptions.MaxModelBindingRecursionDepth Propiedad

Definición

Obtiene o establece la profundidad máxima de recursividad del sistema de enlace de modelos. DefaultModelBindingContext si hay más de este número de IModelBinders en la pila, se producirá una InvalidOperationException excepción . Es decir, se producirá un error en un intento de recurse más allá de este nivel.

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

Valor de propiedad

El valor predeterminado es 32, que coincide con el valor predeterminado MaxValidationDepth .

Comentarios

En algunos modelos autoreferenciales, algunos enlazadores pueden tener éxito incondicionalmente y el enlace de modelos puede dar lugar a un desbordamiento de pila. Este límite restringe la recursividad sin enlazar; es una protección contra los enlazadores y modelos incorrectos. Este límite también protege frente a jerarquías de tipos de modelo muy profundas que carecen de referencias automáticas.

Este límite no corrige el modelo enlazado. En InvalidOperationException su lugar, informa al desarrollador de un problema en su modelo. El desarrollador debe corregir ese problema.

Un valor muy alto para esta opción (int.MaxValue por ejemplo) elimina eficazmente el límite y no se recomienda.

Se aplica a