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 :
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 içerisinde Section bölümünde system.webServer altında yeralan serverRuntime'ı seçiyoruz.
Görüntülenen ekranda uploadReadAheadSize bölümüne gelip 49152 yerine 1048576 yazıp Apply'a basarak ayarı kaydediyoruz.
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.