PRB: يتعذر تحميل ملفات كبيرة عند استخدام عنصر تحكم الخادم HtmlInputFile

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية295626
الأعراض
عند محاولة استخدام عنصر التحكم HtmlInputFile لتحميل ملف كبير قد لا يتم تحميل الملف.
السبب
تحدث هذه المشكلة نظرًا لأن القيمة الافتراضية للمعلمة maxRequestLength في <httpruntime> المقطع من الملف Machine.config هو 4096 (4 ميغابايت). ونتيجة لذلك، لا يتم تحميل الملفات التي حجمها أكبر من هذه القيمة بشكل افتراضي.
الحل
لحل هذه المشكلة، استخدم إحدى الطرق التالية:
  • في الملف Machine.config تغيير سمة maxRequestLength<httpruntime> مقطع التكوين إلى قيمة أكبر. يؤثر هذا التغيير على الكمبيوتر بالكامل.
  • في ملف Web.config تجاوز قيمة maxRequestLength للتطبيق. على سبيل المثال، يسمح الإدخال التالي في Web.config الملفات التي أقل من أو يساوي 8 ميغابايت (MB) يتم تحميل:
    <httpRuntime maxRequestLength="8192" />					
معلومات أخرى
هذه القيمة بشكل افتراضي تقييد 4 كيلوبايت لتقييد المحتملة هجمات "رفض الخدمة".

عندما يتم تعيين السمة maxRequestLength في الملف Machine.config ومن ثم تم نشر طلب (على سبيل المثال، إيداع ملف) التي تتجاوز قيمة maxRequestLength ، يتعذر عرض صفحة خطأ مخصصة. بدلاً من ذلك، Microsoft Internet Explorer بعرض رسالة خطأ "يتعذر العثور على الملقم أو DNS".

نظرياً ، حجم التحميل الأقصى لملف حدٍ كبير. ومع ذلك، وبسبب مراقبة صيانة ASP.NET لا يمكن تحميل ملفات كبيرة الحجم للغاية في ASP.NET. عملية العامل ASP.NET على مساحة عنوان ظاهرية من ٢ غيغابايت (GB). ومع ذلك، يستخدم عملية العامل ASP.NET فقط أكثر قليلاً من ١ غيغابايت بسبب لتجزئة صيانة مراقبة والذاكرة.

أثناء عملية التحميل ASP.NET بتحميل الملف بأكمله في الذاكرة قبل أن المستخدم يمكنه حفظ الملف إلى القرص. لذلك، قد المحذوفات العملية لوجود سمة memoryLimit العلامة processModel في الملف Machine.config. تحدد السمة memoryLimit يمكن العادم نسبة الذاكرة الفعلية معالجة عامل ASP.NET قبل تلقائياً إعادة استخدام العملية. تكرير يمنع تسرب الذاكرة من التسبب في ASP.NET تعطل أو توقفه عن الاستجابة.

بالإضافة إلى ذلك، تلعب عوامل أخرى دورًا في حجم الملف الأقصى الذي يمكن تحميله. تتضمن هذه العوامل الذاكرة المتاحة المساحة المتوفرة على القرص الثابت والسرعة المعالج حركة مرور شبكة الاتصال الحالي. مع حركة مرور عادي من الملفات التي تم تحميلها توصي Microsoft استخدم أقصى حجم ملف في النطاق من ١٠ إلى ٢٠ ميغابايت (MB). في حالة نادراً ما في تحميل ملفات قد الحد الأقصى لحجم الملف 100 ميغا بايت.

ملاحظة يمكنك تحميل الملفات التي حجمها أكبر من 100 ميغا بايت في ASP.NET. على الرغم من ذلك، توصي Microsoft باتباع أحجام إيداع الملف الأقصى المذكورة في هذه المقالة. لتحديد أحجام الملفات أكثر دقة تنفيذ الضغط اختبار على أجهزة الكمبيوتر التي تشبه تلك التي سيتم استخدامها في الإنتاج.

قد تلاحظ رسالتي الخطأ التاليتين في حالة مواجهة حدود حجم الملف أثناء عملية إيداع الملف:
  • لا يمكن عرض الصفحة.
  • يتم تطبيق الملقم Unavailable
    في سجل أحداث تكون رسالة خطأ مشابهة لما يلي:

    تكرار aspnet_wp.exe (معرف العملية: PIDNumber) تم إعادة استخدام بسبب تجاوز استهلاك الذاكرة SizeLimit ميغابايت (Percentage النسبة المئوية RAM المتوفرة).

  • تم طرح System.OutOfMemoryException استثناء نوع.
قد تجد أيضاً حدوث عمليات التحميل ببطء شديد. في حالة مشاهدة عملية Aspnet_wp.exe في "إدارة مهام Windows ستلاحظ تغير دلتا الذاكرة بواسطة 64 كيلوبايت كل ثانية 1 أو 2. اعتماداً على حجم الملف قد يؤدي هذا التأخير العملية المنفِذة ASP.NET المحذوفات نظراً لوجود خطأ responseDeadlock.

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 295626 - آخر مراجعة: 10/26/2007 20:07:52 - المراجعة: 6.5

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0

  • kbmt kbproductlink kbconfig kbprb kbservercontrols KB295626 KbMtar
تعليقات