PRB: Tidak bisa Upload file besar ketika Anda menggunakan kontrol HtmlInputFile Server

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 295626 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

GEJALA

Ketika Anda mencoba untuk menggunakan HtmlInputFile kontrol untuk meng-upload file besar, file tidak dapat diupload.

PENYEBAB

Masalah ini terjadi karena nilai default maxRequestLength parameter dalam <httpruntime></httpruntime> bagian dari Machine.config elemen dari file adalah 4096 (4 megabyte). Sebagai hasilnya, file yang lebih besar dari nilai ini tidak upload secara default.

PEMECAHAN MASALAH

Untuk mengatasi masalah ini, gunakan salah satu metode berikut:
  • Dalam Machine.config elemen dari file, mengubah maxRequestLength atribut <httpruntime></httpruntime> bagian konfigurasi untuk nilai yang lebih besar. Perubahan ini akan mempengaruhi seluruh komputer.
  • Dalam Web.config file, menimpa nilai maxRequestLength untuk aplikasi. Sebagai contoh, entri berikut dalam Web.config memungkinkan file yang kurang dari atau sama dengan 8 megabyte (MB) untuk upload:
    <httpRuntime maxRequestLength="8192" />
    					

INFORMASI LEBIH LANJUT

Secara default, nilai ini dibatasi untuk 4 MB untuk membatasi kemungkinan Denial of Service serangan.

Ketika maxRequestLength atribut diatur dalam Machine.config elemen dari file dan kemudian permintaan posted (misalnya, file upload) yang melebihi nilai maxRequestLength, halaman kesalahan kustom tidak ditampilkan. Sebaliknya, Microsoft Internet Explorer akan menampilkan pesan kesalahan "Tidak dapat menemukan server atau DNS".

Secara teoritis, ukuran berkas maksimum meng-upload cukup besar. Namun, karena dari ASP.Pemantauan kesehatan bersih, Anda tidak bisa upload sangat besar file dalam ASP.NET. ASP.NET pekerja proses memiliki ruang alamat virtual dari 2 gigabyte (GB). Namun, ASP.NET pekerja proses hanya menggunakan sedikit lebih dari 1 GB karena kesehatan pemantauan dan memori fragmentasi.

Selama proses upload, ASP.NET beban seluruh file di memori sebelum pengguna dapat menyimpan file ke disk. Oleh karena itu, proses dapat mendaur ulang karena memoryLimit atribut processModel Tag di Machine.config elemen dari file. The memoryLimit atribut menentukan persentase memori fisik yang ASP.NET pekerja proses dapat knalpot sebelum proses otomatis daur ulang. Daur ulang mencegah kebocoran memori menyebabkan ASP.NET Crash atau berhenti merespons.

Selain itu, faktor lain bermain peran dalam ukuran berkas maksimum yang dapat di-upload. Faktor-faktor ini termasuk memori yang tersedia, ruang hard disk, kecepatan prosesor dan arus lalu lintas jaringan. Dengan lalu lintas biasa file upload, Microsoft menganjurkan agar Anda menggunakan ukuran berkas maksimum dalam kisaran 10-20 megabyte (MB). Jika Anda jarang upload file, ukuran berkas maksimum mungkin 100 MB.

Catatan Anda dapat meng-upload file yang lebih besar dari 100 MB di ASP.NET. Namun, Microsoft menganjurkan bahwa Anda mengikuti ukuran berkas maksimum meng-upload yang disebutkan dalam artikel ini. Untuk menentukan ukuran file yang lebih tepat, melakukan stres pengujian pada komputer yang mirip dengan orang-orang yang akan digunakan dalam produksi.

Anda mungkin akan melihat pesan kesalahan berikut jika Anda menemukan batas ukuran file selama proses upload file:
  • Halaman tidak dapat ditampilkan.
  • Aplikasi server adalah Tidak tersedia
    Log peristiwa, pesan kesalahan akan mirip dengan berikut:

    aspnet_wp.exe (PID:PIDNumber) adalah daur ulang karena memori konsumsi melebihi SizeLimit MB (Persentase persen dari tersedia RAM).

  • Pengecualian jenis System.OutOfMemoryException dilemparkan.
Anda mungkin juga menemukan bahwa upload terjadi sangat lambat. Jika Anda menonton proses Aspnet_wp.exe pada Windows Task Manager, Anda akan melihat bahwa memori delta perubahan oleh 64 KB setiap 1 hingga 2 detik. Tergantung pada ukuran file, penundaan ini dapat menyebabkan ASP.NET pekerja proses untuk mendaur ulang karena kesalahan responseDeadlock.

Properti

ID Artikel: 295626 - Kajian Terakhir: 23 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Kata kunci: 
kbproductlink kbconfig kbprb kbservercontrols kbmt KB295626 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:295626

Berikan Masukan

 

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