MvcOptions.MaxModelBindingRecursionDepth Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.