استخدام ذاكرة النظام ثم عد مقبض زيادة أكثر قد تتوقع عند التطبيق الخاص بك يحتوي على مكونات المشتقة من الفئة System.EnterpriseServices.ServicedComponent

معرف المقالة: 312118 - عرض المنتجات التي تنطبق عليها هذه المقالة.
توسيع الكل | طي الكل

الأعراض

ملاحظة تشير هذه المقالة إلى مساحة الاسم Microsoft .NET Framework فئة مكتبة التالية:
System.EnterpriseServices.ServicedComponent
عند تشغيل تطبيق الذي يحتوي على مكونات المشتقة من System.EnterpriseServices.ServicedComponent قد يزيد استخدام ذاكرة النظام إلى أكثر من 60 بالمائة من مساحة الذاكرة المتوفرة. على سبيل المثال، إذا كنت تقوم بتشغيل أحد تطبيقات ASPX قد يزيد استخدام ذاكرة النظام. قد أيضاً زيادة عدد مقبض أكثر من المتوقع. استخدام CPU عالي قد يشار ضمن إدارة مهام Windows بينما تبقى القيمة Req 'd/ثانية مستوى معقولة. إذا كان وفحص heaps المدارة heaps غير مدار تجد لم دليل من تسرب الذاكرة أو تسرب مقبض. عندما يطلب Object.Finalize إيقاف ، استخدام الذاكرة والعدد مقبض أخيراً تقع إلى مستويات أكثر معقولة.

السبب

قد تحدث هذه المشكلة إذا كان الإصدار الحالي من وقت تشغيل اللغة العامة محدوداً بـ مؤشر ترابط finalizer. إذا كان هناك العديد من مؤشرات ترابط العاملين التعامل مع كائنات finalizable المدارة "، يمكن تقع مؤشر ترابط finalizer. في هذا السيناريو، يمكن تقع مؤشر ترابط finalizer خاصةً في حالة حدوث العمل الهامة في finalizer كل كائن. قد يكون عرضة لهذه المشكلة تصميم مكونات serviced لأنه يتم الاحتفاظ مقابض الحياة استناداً سياق كائن COM +. وينطبق هذا أيضًا الخاصة بالكائنات الأخرى التي تمت إدارتها مع finalizers معقدة.

الحل

لحل هذه المشكلة، اتبع النقش ترميز وقت تشغيل اللغة الشائعة بواسطة استدعاء الأسلوب التخلص والكائن التخلص عند الانتهاء من الكائنات التي تمت إدارتها التي تدعم IDisposable. هو مكون خدمة فئة مدارة يعتمد IDisposable.

الخصائص

معرف المقالة: 312118 - تاريخ آخر مراجعة: 01/ذو الحجة/1424 - مراجعة: 7.2
تنطبق على
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
كلمات أساسية: 
kbmt kbprb kbreadme KB312118 KbMtar
ترجمة آلية
هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية
اضغط هنا لرابط المقالة باللغة الانجليزية312118

إرسال ملاحظات