هل يمكن استخدام محرز لضمان عدم الاتصال النهائي أبدا؟

StackOverflow https://stackoverflow.com//questions/9674465

سؤال

لدينا مشكلة متعددة صعبة للغاية حيث يجب أن يكون الخيط المستخدم لتهيئة نظام الحزب الثالث هو نفس الخيط المستخدم لإنهاءه. الفشل في القيام بذلك يؤدي إلى طريق مسدود. نحن نؤدي Interop من خدمة WCF المستضافة في IIS. حاليا يتم التنظيف حاليا بالتخلص وعادة ما يعمل بشكل جيد للغاية. لسوء الحظ، تحت الحمل الثقيل، سيقوم IIS بإجراء تفريغ وقح ولا نصل إلى استدعاء المتصل. يمكننا نقل منطق إيقاف التشغيل إلى نهادة حاسمة ولكن هذا لا يساعد لأننا لم يعد لدينا إمكانية الوصول إلى مؤشر ترابط التهيئة! عند هذه النقطة، يبدو أن لجوءنا الوحيد يخفي CLR بأنه من المحتمل الآن أن يكون AppDomain في حالة تالفة. ومع ذلك، لست متأكدا من كيفية القيام بذلك (أو إذا كان ذلك ممكنا). قد يكون هذا هو فائدة العقود على مستوى فئة لكنني أعترف أنني لا أفهم حقا تلك بالكامل.

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

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

المحلول

حاول تقسيم التعليمات البرمجية التي تعتمد على هذا الاعتماد الأصلي على تطبيق خدمة Windows المستقل إذا كان ذلك ممكنا.إذا كان لا يمكن أن تعمل بشكل جيد مع WCF / IIS، فيجب عليك تجنب النزاعات بدلا من القتال ضدها.

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