MvcOptions.MaxModelBindingRecursionDepth Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.