SORUN: Büyük dosyaları HtmlInputFile sunucu denetimini kullandığınızda karşıya yükleyemiyor

Makale çevirileri Makale çevirileri
Makale numarası: 295626 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Belirtiler

Büyük bir dosyayı karşıya yüklemeyi HtmlInputFile denetimi'ni kullanmaya çalıştığınızda, dosyayı karşıya değil.

Neden

Bu sorun, <httpruntime><a1>maxRequestLength</a1> parametresinin varsayılan değeri nedeniyle oluşur. Machine.config dosyası 4096 (4 MB) bölümüdür. Sonuç olarak, bu değerden büyük dosyalar varsayılan olarak karşıya değildir.

Çözüm

Bu sorunu gidermek için aşağıdaki yöntemlerden birini kullanın:
  • Machine.config dosyasında <httpruntime>maxRequestLength özniteliğini değiştirme daha büyük bir değer için yapılandırma bölümü. Bu değişiklik, tüm bilgisayar etkiler.
  • Web.config dosyası, uygulamanın maxRequestLength değerini geçersiz kılar. Örneğin, 8 megabayttır (MB) küçük veya eşit karşıya yüklenecek dosyalar aşağıdaki girdisinde bir Web.config izin verir:
    <httpRuntime maxRequestLength="8192" />
    					

Daha fazla bilgi

Varsayılan olarak, bu değer, olası bir hizmet reddi saldırılarına kısıtlamak için 4 MB ile sınırlandırılır.

Machine.config dosyasında maxRequestLength özniteliği ayarlanmış ve sonra bir istek (örneğin, bir dosya karşıya yükleme) deftere nakledildiği zaman maxRequestLength değerini aşıyor, özel hata sayfası görüntülenemiyor Bu bağlantı, bir kısmı veya tamamı ingilizce olan içeriğe işaret edebilir. Bunun yerine, Microsoft ınternet Explorer'da bir "ya da DNS sunucu bulunamıyor" hata iletisi görüntüler.

Teorik olarak, en büyük dosya karşıya yükleme boyutu çok büyük. Ancak, ASP.NET durum izlemesi nedeniyle çok büyük dosyalar ASP.NET'te karşıya yükleyemezsiniz. ASP.NET çalışan işlemi bir sanal adres alanı 2 gigabayttır (GB) vardır. Ancak, ASP.NET çalışan işlemi sağlığını izleme ve bellek parçalanması nedeniyle yalnızca biraz 1 GB'TAN fazla kullanır.

Kullanıcı dosyayı diske kaydetmeden önce yükleme işlemi sırasında bellekteki dosyanın tamamını ASP.NET yükler. Bu nedenle, işlem <a0>Machine.config</a0> dosyasında <a1>processModel</a1> Etiketin memoryLimit özniteliğini nedeniyle geri. ASP.NET çalışan işlemi, fiziksel bellek yüzdesi tüketebileceği, işlem otomatik olarak dönüştürülmeden önce memoryLimit özniteliğini belirtir. Geri dönüştürme, bellek sızıntıları ASP.NET yanıt vermiyor ya da kilitlenmesine neden engeller.

Ayrıca, diğer etkenler, en büyük dosya boyutu karşıya bir rol oynar. Bu etkenler, bellek, kullanılabilir sabit disk alanı, işlemci hızı ve geçerli ağ trafiği içerir. Normal trafiği karşıya yüklenen dosyaların, Microsoft, bir en büyük dosya boyutunu 10-20 megabayt aralığında kullanmanızı önerir (MB). Seyrek dosyaları karşıya yüklemek, en büyük dosya boyutuna 100 MB olabilir.

Not ASP.NET'te 100 MB'den daha büyük olan dosyaları karşıya yükleyebilirsiniz. Ancak Microsoft, bu makalede sözü geçen en büyük dosya karşıya yükleme boyutlarını izlemenizi önerir. Daha kesin bir dosya boyutunu belirlemek için <a0></a0>, Üretimde kullanılan olanlara benzeyen bilgisayarlardaki sınama baskısı gerçekleştirin.

Dosya karşıya yükleme işlemi sırasında dosya boyutu sınırları karşılaşırsanız, aşağıdaki hata iletilerini görebilirsiniz:
  • Sayfa görüntülenemiyor.
  • Sunucu uygulaması kullanılamıyor durumda.
    Hata iletisi olay günlüğüne aşağıdakine benzer olacaktır:

    aspnet_wp.exe (PID: PIDNumber) bellek tüketimini SizeLimit MB aştığından geri dönüştürüldü (Percentage yüzde kullanılabilir RAM).

  • Özel durum türü System.OutOfMemoryException oluşturuldu.
Ayrıca, karşıya yüklemeler çok yavaş ortaya bulabilirsiniz. Windows Görev Yöneticisi'nde Aspnet_wp.exe işlemi izleyin, bellek aralığı, 1-2 saniyede 64 KB değiştirir görürsünüz. Dosya boyutuna bağlı olarak, bu gecikme, responseDeadlock bir hata nedeniyle geri dönüşüm kutusu ASP.NET alt işleminin neden olabilir.

Özellikler

Makale numarası: 295626 - Last Review: 26 Ekim 2007 Cuma - Gözden geçirme: 6.5
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Anahtar Kelimeler: 
kbmt kbproductlink kbconfig kbprb kbservercontrols KB295626 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:295626

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com