MvcOptions.MaxModelBindingRecursionDepth 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
모델 바인딩 시스템의 최대 재귀 깊이를 가져오거나 설정합니다. 이 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
예: )에 대한 매우 높은 값은 제한을 효과적으로 제거하며 권장되지 않습니다.