Compartilhar via


MvcOptions.MaxModelBindingRecursionDepth Propriedade

Definição

Obtém ou define a profundidade máxima de recursão do sistema de model binding. O DefaultModelBindingContext gerará um InvalidOperationException se mais do que esse número de IModelBinders estiver na pilha. Ou seja, uma tentativa de repetir além desse nível falhará.

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

Valor da propriedade

O valor padrão é 32, correspondendo ao valor padrão MaxValidationDepth .

Comentários

Para alguns modelos auto-referenciais, alguns associadores podem ter êxito incondicionalmente e a associação de modelo pode resultar em estouro de pilha. Esse limite restringe essa recursão não limitada; é uma proteção contra modelos e associadores de modelo incorretos. Esse limite também protege contra hierarquias de tipo de modelo muito profundas sem auto-referências.

Esse limite não corrige o modelo associado. Em InvalidOperationException vez disso, o informa ao desenvolvedor sobre um problema em seu modelo. O desenvolvedor deve corrigir esse problema.

Um valor muito alto para essa opção (int.MaxValue por exemplo) remove efetivamente o limite e não é recomendado.

Aplica-se a