다음을 통해 공유


MvcOptions.MaxModelBindingRecursionDepth 속성

정의

모델 바인딩 시스템의 최대 재귀 깊이를 가져오거나 설정합니다. 이 DefaultModelBindingContext 수보다 많은 sIModelBinder가 스택에 있는 경우 은 을 throw 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

속성 값

기본값은 기본값 MaxValidationDepth 과 일치하는 입니다32.

설명

일부 자체 참조 모델의 경우 일부 바인더는 무조건 성공할 수 있으며 모델 바인딩으로 인해 스택 오버플로가 발생할 수 있습니다. 이 제한은 이러한 바인딩되지 않은 재귀를 제한합니다. 잘못된 모델 바인더 및 모델에 대한 보호 장치입니다. 또한 이 제한은 자체 참조가 없는 매우 심층적인 모델 유형 계층으로부터 보호합니다.

이 제한은 바인딩된 모델을 수정 하지 않습니다. 대신 는 InvalidOperationException 개발자에게 모델의 문제를 알릴 수 있습니다. 개발자는 해당 문제를 수정해야 합니다.

이 옵션(int.MaxValue 예: )에 대한 매우 높은 값은 제한을 효과적으로 제거하며 권장되지 않습니다.

적용 대상