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

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

إضافة-في pipelفيe

نموذج تدفقات الوظيفة الإضافية.

أمثلة تعليمات برمجية، راجع الإرشادات التفصيلية: تمكين توافق مع الإصدارات السابقة كتغييرات مضيف الخاص بكو الإرشادات التفصيلية: تمرير المجموعات بين المضيفين و إضافة-زر 'Ins'.

العقود

اﻷول خطوة في تطوير خط أنابيب للاتصال لتعريف اتفاق التي يجب أن يكون مشتقًا من IContractالواجهة. إذا كان مضيف و إضافة-تم تحميلها في مجالات تطبيقات منفصلة، وجود حد للفصل بين إضافة-في خط أنابيب جانب وجانب مضيف خط أنابيب. أ اتفاق هي واجهة غير تعيين الإصدار الذي يقوم بتعريف بروتوكول للاتصال أنواع عبر حد لعزل. باستخدام عقود للاتصال عبر حد لعزل، يمنع طراز الوظيفة الإضافية للمضيف والوظيفة الإضافية للتطبيقات أنواع من leaking عبر الحدود والتسبب في مشكلات تعيين الإصدارات.

يجب أن تكون الكائنات التي يجب أن يتم نقلها عبر مجالات تطبيق remotable. للحصول على مزيد من المعلومات حول الكائنات remotable، راجع Remotable and Nonremotable Objects.

ContractBaseفئة يوفر تطبيق افتراضي IContractالأعضاء. الخاص بك اتفاق يمكن لواجهة يورث هذه الفئة أيضا.

متطلبات اتفاق

عقود يجب أن تتبع التعيين من المتطلبات للتأكد من أن الجميع أنواع التعبير عنها في العقود غير آمنة ويمكن تم إصداره ويمكن تمريرها عبر حدود الفصل بين المضيفين و إضافة-الوظائف.

يجب أن يورث عقود IContractويجب أن تستخدم ما يلي فقط أنواع:

  • غير ذلك العقود المشتقة من IContract.

  • أنواع بيانات الأولية: أنواع منطقية و إعداد صحيحة.

  • قابل للتسلسل أنواع المعرفة في تجميع اتفاق.

  • قابل للتسلسل أنواع المعرفة في Mscorlib.dll، مثل Int32و DateTime.

  • أنواع المرجع مختوم، قابل للتسلسل. على سبيل المثال، يمكنك تمرير Stringالكائن عبر حدود هو olation لأن ذلك هو نوع مرجع مختوم، قابل للتسلسل.

  • عمليات التعداد التي تم تعريفها في اتفاق أو Mscorlib.dll.

  • AddInTokenالكائنات.

  • صفائف من أي من يسبق سرد أنواع، فيما عدا صفيفة عقود.

إلى تمرير مجموعات الكائن، استخدم أنواع تطبيق عام IList<T>الواجهة، مثل List<T>و ArrayListمجموعات. لتمرير هذه المجموعات فوق حدود عزل، ويمكنك مؤقتاً تحويل إلى IListContract<T>الواجهة. الإرشادات التفصيلية: تمرير المجموعات بين المضيفين و إضافة-زر 'Ins'إلى pic يوضح كيفية إلى تمرير مجموعات.

لإنشاء خط الأنابيب، اتفاق أنه يجب أن يكون تعريف يمثل الوظيفة الإضافية باستخدام AddInContractAttributeالسمة.

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

طرق العرض

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

لإنشاء خط أنابيب، والنوع في إضافة-في عرض تلك إضافة-يطبق أو يرث هو المعرف بواسطة AddInBaseAttributeالسمة ويسمى إضافة-في الأساس. عرض مضيف لا تتطلب سمة للاكتشاف، لأنه يتم تمرير العرض مضيف إلى FindAddInsالأساليب.

محولات

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

  • عرض-إلى-محول اتفاق.

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

  • محول اتفاق-إلى-view.

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

  • إلى بناء خطوط الأنابيب، يجب تعريف الفئة الوظيفة في جانب محول بتطبيق AddInAdapterAttributeالسمة، وقم بتعريف الفئة محول جانب مضيف بواسطة تطبيق HostAdapterAttributeالسمة.

  • المحولات غير مطلوبة إلى تكون عامة.

راجع أيضًا:

المبادئ

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

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