MvcOptions.MaxModelBindingRecursionDepth プロパティ

定義

モデル バインド システムの最大再帰深度を取得または設定します。 このDefaultModelBindingContextIModelBinderを超える s がスタック上にある場合、 は をスローInvalidOperationExceptionします。 つまり、このレベルを超えて再帰しようとすると失敗します。

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 たとえば) の値が非常に大きいと、実質的に制限が削除され、推奨されません。

適用対象