مشاركة عبر


إدارة مدة بقاء

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

إضافة-في عمر لطراز النظام الإدارة أن تمتد عبر عدة مجالات تطبيقات والعمليات معزولة للتأكد من الكائنات التي، العقود، و إضافة-يتم التخلص من أدوات ويتم إلغاء تحميل مجالات تطبيقات الخاصة بهم. يقوم النظام بهذا عن طريق الاحتفاظ برمز مؤشر ( ContractHandle) إضافة-في خلال الوقت الذي إضافة-في الالخدمات مكالمة من مضيف.

تطبيق إدارة مدة بقاء

لتطبيق إدارة مدة بقاء، يجب عليك اكتساب عمر الرمز المميز كلما تم استخدام عقد في أحد محولات العرض للعقد وثم عمر الرمز المميز عند انتهاء المحول معها. ContractHandleفئة أدى هذا العمل نيابة عنك إذا كنت استخدم فيه محولات. إذا مرت خط أنابيب أنواع مخصصة، يجب اكتساب مؤشر الرمز المميز في الجميع اتفاق-إلى-عرض محول الفئات التي قمت بتطبيق. للحصول على مزيد من المعلومات حول المحولات اتفاق-إلى-view، راجع عقود وطرق العرض، و محولات.

ContractHandleفئة اتفاق المنشئ الخاص به. يأخذ يوضح المثال التالي كيفية إلى عمر إلى ken التعامل بمحول مضيف من جانب مجموعة.

ملاحظة هامةهام

ContractHandleهو هامة لإدارة عمر.إذا فشلت في احتفظ مرجع إلى ContractHandleالكائن، سيتم استرداد مجموعة البيانات المهملة، وسيتم إيقاف تشغيل خط أنابيب أسفل عند البرنامج إلا تتوقع it.يمكن أن يؤدي هذا إلى الأخطاء التي يصعب تشخيص، مثل كـ AppDomainUnloadedException.إيقاف تشغيل هو مرحلة عادية في فترة تواجد خط أنابيب، لذا هو لا توجد طريقة لإدارة عمر التعليمة البرمجية للكشف عن ذلك th هو شرط هو خطأ.

Private _contract As ICalc2Contract
Private _handle As ContractHandle

Public Sub New(ByVal contract As ICalc2Contract)
    _contract = contract
    _handle = New ContractHandle(contract)
End Sub
private CalculatorContracts.ICalc2Contract _contract;

private System.AddIn.Pipeline.ContractHandle _handle;

public CalculatorContractToViewHostAdapter(ICalc2Contract contract) {
    _contract = contract;
    _handle = new System.AddIn.Pipeline.ContractHandle(contract);
}

بمجرد حصولك على hوle المميزة، النظام تتولى عملية الجميع وظائف إدارة عمر و يتطلب لا برمجة إضافى.

تحت إضافة-في النموذج، مضيف و إضافة-تعمل زر 'Ins' كما لو تم التحكم في إدارة عمر الخاصة بهم بواسطة حاوي المهملات. يحصل التخلص من مراجع المحلية الخاصة بها وتؤدي أية مراجع بعيدة إلى التخلص من وتجميعها.

إضافة-في إيقاف التشغيل

يمكن إيقاف تشغيل تطبيق مضيف إضافة-الخاصة مجال تطبيق باستدعاء Shutdownأسلوب AddInControllerفئة.

AddInControllerيحتفظ مقطع صوتي لفئة زر 'زر 'Ins'' الإضافية ومجالات التطبيقات الخاصة بهم إلى التأكد من أنها غير محمل.

راجع أيضًا:

المبادئ

عقود وطرق العرض، و محولات

تطوير خطوط الأنابيب