سؤال

ما هي الخيارات المتاحة لإعادة تدوير الكائن حالة تطبيق ASP.Net؟ أنا باستخدام هذا الكائن لتخزين طوابير اتصالات قاعدة البيانات لطبقة الوصول إلى البيانات على شبكة الإنترنت الخدمات. انا قلق أن أكثر من أيام / أسابيع / أشهر سوف ينتهي تخصيص مبالغ متزايدة من الذاكرة على الاتصالات في ديسيبل التي لم تعد قيد الاستخدام. يتم إنشاء اتصالات تلقائيا عند الحاجة لذلك المحافظة عليها ليس في غاية الاهمية.

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

هل كانت مفيدة؟

المحلول

وماذا حدث قبل بدء التخزين المؤقت الاتصالات؟ لم التخزين المؤقت لهم يسبب أي تحسن ملموس في الأداء أو استخدام الموارد؟ سأشعر بالدهشة بعض الشيء إذا فعلت ذلك، بالنظر إلى أن ADO.NET لا تجمع الاتصالات بالنسبة لك.

ولا توجد خيارات إعادة التدوير لحالة التطبيق. فمن لكل ملقم، لكل AppDomain.

لخيار التخزين المؤقت آخر، والنظر في استخدام الكائن ذاكرة التخزين المؤقت. بل هو أيضا لكل تطبيق، ولكن يمكنك تعيين إدخالات ذاكرة التخزين المؤقت لتنتهي بعد فترة من الزمن.

نصائح أخرى

وفعلت بعض التجارب، ويبدو لا يقيم كائن التطبيق في تجمع التطبيقات. (إعادة تدوير تجمع التطبيقات تطهيرها من أصل البيانات في كائن التطبيق).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top