IIS 7.x'de dosya yükleme boyutunu yükseltme ve "The page was not displayed because the request entity is too large" hatasını giderme

Geçtiğimiz günlerde bir arkadaşımızdan mail aldım. Sunucusunu Windows Server 2003'ten Windows Server 2008 R2'ye taşıdığını, dolayısıyla IIS 6'dan IIS 7.5'e geçtiğini; IIS 6'da çalışan uygulamasının IIS 7.5 üzerinde aşağıdaki hatayı verdiğini söylüyordu :

The page was not displayed because the request entity is too large.

Aslında çözümünü de bulmuştu fakat çözümü uygulamak ile ilgili bir sıkıntısı vardı. Neyseki problemine çözüm bulduk, çözümü buradan da paylaşmak istedim.

Sorunun sebebine gelince; yazılan uygulama ile dosya upload edilmeye çalışılıyordu ancak varsayılan limit düşük olduğu için yüsek boyutlu dosyaların yüklenmesi sırasında hata alınıyordu.

Sorunun çözümü için, dosya yükleme limitinin değiştirilmesi gerekiyor. Bu işlemi birkaç yöntemle yapmak mümkün :

1. yöntem - appcmd komutu ile :
Soruyu soran arkadaşımızın bulduğu cevapta da bu yöntem öneriliyordu. Yapılması gereken aşağıdaki komutun sunucu üzerinde komut satırında çalıştırılmasıydı.

appcmd.exe set config -section:system.webServer/serverRuntime /uploadReadAheadSize:1048576 
/commit:apphost

Komut çalıştığında aşağıdaki gibi bir ekran görüntüsü ile karşılaşıyoruz :

Dosya yükleme boyutu

Not : Bu yöntem IIS 7.0 ve IIS 7.5 için kullanılabilir.

2. yöntem - Konfigürasyon dosyasını değiştirerek :
Bu yöntemde doğrudan C:\Windows\system32\inetsrv\config klasörü altında yeralan applicationHost.config dosyasında değişiklik yapıp uploadReadAheadSize="1048576" parametresini serverRuntime tag'ına ekliyoruz. Eklemeyi aşağıdaki gibi yapabiliriz :

<serverRuntime uploadReadAheadSize="1048576" />

Not : Bu yöntem IIS 7.0 ve IIS 7.5 için kullanılabilir.

3. yöntem - IIS Manager aracılığıyla :
Bu yöntem sadece IIS 7.5 için kullanılabilir.

IIS Manager'da sunucu ismi seçiliyken ortadaki bölümdeki Management bölümünden Configuration Editor'e tıklıyoruz.

Configuration Editor

Configuration Editor içerisinde Section bölümünde system.webServer altında yeralan serverRuntime'ı seçiyoruz.

Configuraton Editor'da serverRuntime'ı seçiyoruz

Görüntülenen ekranda uploadReadAheadSize bölümüne gelip 49152 yerine 1048576 yazıp Apply'a basarak ayarı kaydediyoruz.

uploadReadAheadSize ayarı

Tüm yöntemlerde 1048576 şeklinde yaptığımız ayar ile 1 MB'a kadar dosya upload etmeye izin veriyoruz. Daha yüksek boyutta dosya yüklememiz gerekiyorsa ayarı gerektiği şekilde değiştirebiliriz.

Comments

Comments (1) -

nemo uzun
ben denedim en kolay cözüm yolu:
calıştıra cmd yazıp   şu kodu yapıştırıp ekleye basmanız.
%windir%\system32\inetsrv\appcmd set config -section:asp -limits.maxRequestEntityAllowed:200000000


entra tıkalyınca. yöntem birdeki resimdeki yazılar cıkar ve upload limiti yükseltilmiş olur. sunucuyu resetlerseniz sorun kalmayacaktır