Condividi tramite


MvcOptions.MaxModelBindingRecursionDepth Proprietà

Definizione

Ottiene o imposta la profondità massima di ricorsione del sistema di associazione del modello. Genera DefaultModelBindingContext un'eccezione InvalidOperationException se più di questo numero di IModelBinderoggetti si trovano nello stack. Vale a dire, un tentativo di andare oltre questo livello avrà esito negativo.

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

Valore della proprietà

Il valore predefinito è 32, che corrisponde al valore predefinito MaxValidationDepth .

Commenti

Per alcuni modelli autoreferenziali, alcuni binder possono avere esito positivo in modo incondizionato e l'associazione di modelli può comportare un overflow dello stack. Questo limite vincola tale ricorsione non vincolata; si tratta di una protezione contro gli strumenti di associazione di modelli e i modelli non corretti. Questo limite protegge anche dalle gerarchie dei tipi di modello molto profonde privi di self-reference.

Questo limite non corregge il modello associato. Informa InvalidOperationException invece lo sviluppatore di un problema nel modello. Lo sviluppatore deve correggere il problema.

Un valore molto elevato per questa opzione (int.MaxValue ad esempio) rimuove efficacemente il limite e non è consigliato.

Si applica a