رسالة الخطأ: لا يمكن الوصول إلى اسم الملف لأنه قيد الاستخدام من قبل عملية أخرى

الأعراض

بعد تحديث محتوى ASP.NET على خادم ويب الذي يتلقى طلبات، قد تتلقى رسالة الخطأ التالية في المستعرض:
خطأ في الملقم في
/AppName التطبيق.

--------------------------------------------------------------------------------

خطأ تكوين
الوصف: حدث خطأ أثناء معالجة ملف تكوين مطلوب لخدمة هذا الطلب. الرجاء مراجعة تفاصيل الخطأ المحددة أدناه وتعديل ملف التكوين الخاص بك بشكل صحيح.

رسالة خطأ المحلل اللغوي: يتعذر الوصول إلى الملف
اسم التجميع لأنه قيد الاستخدام من قبل عملية أخرى.

المصدر الخطأ:

البند 197: < إضافة assembly="System.Drawing، الإصدار = 1.0.3300.0، الثقافة = محايد, = b03f5f7f11d50a3a"/>
البند 198: < إضافة assembly="System.EnterpriseServices، الإصدار = 1.0.3300.0، الثقافة = محايد, = b03f5f7f11d50a3a"/>
البند 199: < إضافة التجميع = "*"/> 200 بند: </التجميعات >
البند 201:

الملف المصدر: c:\ويندووسديريكتوري\microsoft.net\framework\v1.0.3512\Config\machine.config الخط: 199


قد تحدث هذه المشكلة إذا قمت بتحديث ملفات متعددة يؤدي إعلامات التغيير (مثل Web.config Global.asax والملفات الموجودة في المجلد bin). عندما تأتي الطلبات بين إعلامات تغيير متتالية اثنين، تسببت في AppDomain إعادة تحميل عدة مرات في نفس الوقت.

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

السبب

عندما تقوم بتغيير ملف أن أسباب تغيير الإعلامات، تعيد تحميل AppDomain على الطلب الوارد التالي. عند حدوث ذلك، تأمين عملية Aspnet_wp.exe
البرنامج/مجلدالنسخة الاحتياطية (الموجود في المجلد Temporary ASP.NET Files)، لتتمكن من نسخ الإصدار الجديد للبرنامج بأمان.

إذا قمت بتغيير ملف آخر أثناء حدوث ذلك، وطلب جديد يأتي في إعادة تحميل AppDomain ومحاولة نسخ آخر جديد إعادة إصدار من البرنامج إلى المجلد نسخة الظل أثناء المجلد مؤمن بواسطة مجال التطبيق الأول.

الحل

إصلاح هذا يتم تضمينها كجزء من "برنامج.NET framework".

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

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

ملاحظة: يمكنك أيضا استخدام.NET Framework 1.1 لحل هذه المشكلة.

ملاحظة: لحل هذه المشكلة، تثبيت الإصلاح، وقم بتكوين الإعدادات في قسم "مزيد من المعلومات".

يحتوي إصدار اللغة الإنجليزية من هذا الإصلاح العاجل على سمات الملف (أو سمات الملف الأحدث) المسرودة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات بالتوقيت العالمي المتفق عليه (UTC). عند عرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي المتفق عليه والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في أداة التاريخ والوقت في "لوحة التحكم".
  Date         Time   Version       Size       File name
--------------------------------------------------------------
14-Nov-2002 04:12 1.0.3705.377 196,608 Aspnet_isapi.dll
14-Nov-2002 04:06 4,169 Aspnet_perf.h
14-Nov-2002 04:06 20,468 Aspnet_perf.ini
14-Nov-2002 04:06 20,342 Aspnet_perf2.ini
14-Nov-2002 04:12 1.0.3705.377 24,576 Aspnet_regiis.exe
14-Nov-2002 04:12 1.0.3705.377 28,672 Aspnet_wp.exe
14-Nov-2002 01:42 1.0.3705.377 69,632 Corperfmonext.dll
14-Nov-2002 16:17 1.0.3705.377 1,953,792 Mscorlib.dll
14-Nov-2002 01:33 10,256 Mscorlib.ldo
14-Nov-2002 01:41 1.0.3705.377 2,269,184 Mscorsvr.dll
14-Nov-2002 01:41 1.0.3705.377 2,269,184 Mscorwks.dll
02-Aug-2002 03:38 15 Smartnav.htm
17-Oct-2002 23:55 8,728 Smartnav.js
29-Jan-2002 00:13 7,003 Smartnavie5.js
14-Nov-2002 16:18 1.0.3705.377 1,191,936 System.web.dll

الحالة

أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "ينطبق على".
الإصلاح العاجل بتغيير السلوك التالي في ASP.NET:
  • أخطاء التكوين يتم الآن فقط المخزنة مؤقتاً لمدة 5 ثوان.
  • يتم تجميع إعلامات تغيير الملف استناداً إلى قيم سمتان التالي في قسم < هتبرونتيمي > في Machine.Config
    • ويتشانجينوتيفيكيشن -إعادة تشغيل عدد الثواني لانتظار إعلام التغيير التالي قبل طلب جديد سوف يؤدي مجال التطبيق
    • ماكسويتشانجينوتيفيكيشن -تغيير الحد الأقصى لعدد الثواني الأولى من الإعلام حتى يتم إعادة تحميل AppDomain على طلب جديد
    على سبيل المثال:
    <httpRuntime waitChangeNotification="5" maxWaitChangeNotification="10">
    القيمة الافتراضية لكل من معلمات 0.
    لاحظ أنه عند استخدام القيم الافتراضية، وجود المشكلة الموضحة في قسم "الأعراض".

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

رقم الموضوع: 810281 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات