Aracılığıyla paylaş


MvcOptions.MaxModelBindingRecursionDepth Özellik

Tanım

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.

Şunlara uygulanır