Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

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

Ö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
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.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 295626 - Son İnceleme: 10/26/2007 20:07:52 - Düzeltme: 6.5

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0

  • kbmt kbproductlink kbconfig kbprb kbservercontrols KB295626 KbMttr
Geri bildirim