MvcOptions.MaxModelBindingRecursionDepth Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Model bağlama sisteminin en yüksek özyineleme derinliğini alır veya ayarlar. , DefaultModelBindingContext yığında bu sayıdan IModelBinderdaha fazla varsa bir InvalidOperationException oluşturur. Başka bir ifadeyle, bu düzeyin ötesinde özyineleme girişimi başarısız olur.
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
Özellik Değeri
Varsayılan değer, varsayılan MaxValidationDepth değerle eşleşen değeridir32
.
Açıklamalar
Bazı kendi kendine başvuran modellerde, bazı bağlayıcılar koşulsuz olarak başarılı olabilir ve model bağlaması yığın taşmasına neden olabilir. Bu sınır, bu tür ilişkisiz özyinelemeleri kısıtlar; bu, yanlış model bağlayıcılara ve modellere karşı bir korumadır. Bu sınır, öz başvuruları olmayan çok derin model türü hiyerarşilerine karşı da koruma sağlar.
Bu sınır ilişkili modeli düzeltmez . bunun yerine geliştiriciyi InvalidOperationException modelindeki bir sorun hakkında bilgilendirmektedir. Geliştiricinin bu sorunu düzeltmesi gerekir.
Bu seçenek için çok yüksek bir değer (int.MaxValue
örneğin), sınırı etkili bir şekilde kaldırır ve önerilmez.