Freigeben über


MvcOptions.MaxModelBindingRecursionDepth Eigenschaft

Definition

Ruft die maximale Rekursionstiefe des Modellbindungssystems ab oder legt diese fest. Die DefaultModelBindingContext löst ein aus InvalidOperationException , wenn mehr als diese Anzahl von IModelBinders auf dem Stapel sind. Das heißt, ein Versuch, sich über diese Ebene hinaus zu rekursieren, schlägt fehl.

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

Eigenschaftswert

Der Standardwert ist 32, entspricht dem Standardwert MaxValidationDepth .

Hinweise

Bei einigen selbstreferenziellen Modellen können einige Binder bedingungslos erfolgreich sein, und die Modellbindung kann zu einem Stapelüberlauf führen. Dieser Grenzwert schränkt eine solche ungebundene Rekursion ein. Es ist ein Schutz vor falschen Modellbindern und Modellen. Diese Grenze schützt auch vor sehr tiefen Modelltyphierarchien ohne Selbstverweise.

Dieses Limit korrigiert das gebundene Modell nicht. Die InvalidOperationException informiert stattdessen den Entwickler über ein Problem in ihrem Modell. Der Entwickler muss dieses Problem beheben.

Ein sehr hoher Wert für diese Option (int.MaxValue z. B.) entfernt den Grenzwert effektiv und wird nicht empfohlen.

Gilt für: