MaxRequestLength veya maxAllowedContentLength hangisi öncelik kazanır?


127

Yükleme için izin verilen maksimum dosya boyutunu değiştirirken bu iki ayara tökezledim.

Gelen sytem.web sahip http çalışma zamanı ile düğüm maxRequestLength . Gelen system.webServer sahip requestLimits ile MaxAllowedContentLength .

Şimdi hangisi diğerinden önceliklidir? Ve ikisini de ayarlamamız gerekiyor mu yoksa sonuncusu (IIS7 için olan) yeterli mi?

Yanıtlar:


196

maxRequestLength, ASP.NET tarafından desteklenen maksimum istek boyutunu belirtirken, maxAllowedContentLength, IIS tarafından desteklenen bir istekteki maksimum içerik uzunluğunu belirtir. Dolayısıyla, büyük dosyaları yüklemek için her ikisini de ayarlamanız gerekir: daha küçük olan "önceliklidir".

(Bunu http://forums.iis.net/t/1169846.aspx'den aldım - gereken yere kredi.)

Uygun web.config dosyasını düzenleyerek, her ikisini de belirli bir site için yerel olarak veya hatta bir site içindeki bir klasör olarak ayarlayabilirsiniz. Dosya (iyi, istek) uzunluğu maxAllowedContentLength değerinden az, ancak maxRequestLength değerinden fazlaysa, kullanıcı, varsa standart (ASPX) hata sayfanızı alır. Aksi takdirde, bunun yerine bir IIS hata sayfası alır. Bu nedenle, maxAllowedContentLength değerinin çok büyük bir değere (yalnızca bu web sitesi / klasör için) sahip olmasını ve ardından sınır değerinin maxRequestLength olmasını isteyebilirsiniz.

Son olarak, maxRequestLength değerinin KB cinsinden, maxAllowedContentLength değerinin ise BYTES cinsinden olduğunu unutmayın!


Sayfamda 50 MB limitli yükleme kontrolünün olduğu 3 yükleme kontrolüm var. Yani tek seferde toplam 150 MB yüklüyorum, yapılandırmam maxAllowedContentLength = "51200000" & executionTimeout = "1200" & maxRequestLength = "51200". Burada hangi uzunlukta değiştirilmeliyim. Lütfen önerin.
Nirav Vasoya

21

Kısa ve tatlı cevap, ikisinden küçük olanın öncelik alacağıdır. Yine de bir tavsiye - bence maxRequestLength değerini, aşılması durumunda Global.asax'ınızın Application_Error olayında bir istisna yakalayabileceğiniz için ikisinden küçük olacak şekilde ayarlamanız önerilir. MaxAllowedContentLength değerini aşarsanız, ilk IIS, ASP.NET yerine bununla ilgilenecek ve kodla başa çıkmayı daha zor hale getirecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.