MvcOptions.MaxModelBindingRecursionDepth 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置模型绑定系统的最大递归深度。 DefaultModelBindingContext如果堆栈上超过此数目的 IModelBinder,则会引发 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
例如,) 有效地删除了限制,不建议这样做。