توافق التنظيم

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

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

يمكن أن يحتوي على نوع غامض أما تمثيلات متعددة غير مدارة يتم تعيينها إلى نوع المدارة مفردة، أو معلومات النوع مفقود، مثل الحجم الصفيف. أنواع مبهمة، يوفر على منظم تمثيل افتراضي و تمثيل بديل الموقع يوجد تمثيلات متعددة. قم بتوفير إرشادات واضحة إلى المنظم تشغيل كيف يتم إلى تنظيم أحد أنواع مبهمة.

تشتمل هذه النظرة العامة على الأقسام التالية:

  • استدعاء النظام الأساسي وطرازات توافق COM

  • التنظيم والإرسال و COM Apartments

  • التنظيم والإرسال المكالمات بعيد

  • مواضيع ذات صلة

  • المرجع

استدعاء النظام الأساسي وطرازات توافق COM

توفير وقت تشغيل اللغة العامة آليات الثاني ل interoperating مع تعليمات برمجية غير المدارة:

  • استدعاء النظام الأساسي الذي يمكن تعليمات برمجية مُدارة تستدعي دالات تصديرها من مكتبة غير مدار.

  • توافق COM، مما يمكن من تعليمات برمجية تمت إدارتها إلى التعامل مع الكائنات طراز كائن مكوّن (COM) من خلال الواجهات.

كل من استدعاء النظام الأساسي و COM إمكانية التشغيل المتداخل استخدامها interop التنظيم والإرسال دقيق لتحريك الأسلوب الوسيطات بين الطالب والخلفية، و callee إذا مطلوب. كما يبين المثال التالي، استدعاء النظام الأساسي يسري استدعاء الأسلوب من تعليمات برمجية المدارة إلى غير مدار وابدأ طريقة غير ذلك، باستثناء عندما يتم تضمين دالات رد الاتصال . على الرغم من أن استدعاء النظام الأساسي يمكن التدفق المكالمات فقط من مدارة إلى تعليمات برمجية غير مُدارة، يمكن تدفق بيانات في كلا الاتجاهين كـ معلمات الإخراج أو إدخال. يمكن استدعاء الأسلوب إمكانية التشغيل المتداخل COM تدفق في أي الاتجاه.

استدعاء النظام الأساسي و توافق COM يتصل التدفق

استدعاء النظام الأساسي

في المستوى الأقل، كلاهما استخدام آليات interop نفس التنظيم والإرسال الخدمة؛ ومع ذلك، استدعاء بيانات معينة يتم اعتماد أنواع فقط بواسطة توافق COM أو النظام الأساسي. للمزيد من التفاصيل ، راجع الافتراضي سلوك الالتنظيم والإرسال.

العودة إلى الأعلى

التنظيم والإرسال و COM Apartments

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

يحتوي COM أيضا منظم marshals بيانات بين COM apartments أو عمليات COM آخر. عند الاتصال بين إدارة و تعليمات برمجية غير مدارة داخل الشقة نفس COM، منظم إمكانية التشغيل المتداخل هو الوحيد المنظم المعنية. عند استدعاء بين تعليمات برمجية مُدارة و مدارة التعليمات البرمجية في الأجزاء COM آخر أو عملية أخرى، كلا على إمكانية التشغيل المتداخل منظم و على منظم COM المعنية.

عملاء COM و التي تمت إدارتها الخوادم

مسجَّل الخادم مدارة التي تم تصديرها باستخدام مكتبة نوع مع Regasm.exe (أداة تسجيل التجميع)يحتوي ThreadingModelإدخال السجل تعيين إلى Both. تشير هذه القيمة التي الخادم يمكن تنشيط في شقة مؤشر ترابط مفرد (STA) أو الأجزاء ذات مؤشرات ترابط متعددة (MTA). الخادم يتم تاريخ الإنشاء الكائن في نفس الشقة المتصل به، كما هو موضح في الجدول التالي.

COM العميل

الخادم.NET

التنظيم والإرسال متطلبات

sta

Bothيصبح STA.

التنظيم والإرسال الحيز نفسه.

MTA

Bothيصبح MTA.

التنظيم والإرسال الحيز نفسه.

لأن العميل والخادم كانا في الحيز نفسه، يعالج interop التنظيم والإرسال الخدمة تلقائياً التنظيم والإرسال الجميع بيانات. يبين المثال التالي إمكانية التشغيل المتداخل التنظيم والإرسال خدمة تعمل بين إدارة و مدارة heaps داخل الشقة النمط COM نفس.

عملية التنظيم نفس الشقة

توافق التنظيم

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

الخوادم COM و العملاء المدارة

إعداد الافتراضي لإدارة عميل apartments هو MTA؛ ومع ذلك، يمكن لنوع تطبيق العميل.NET تغيير إعداد الافتراضي. على سبيل المثال، على Visual Basic 2005العميل إعداد الحيز هو STA. التي يمكن استخدام System.STAThreadAttribute، System.MTAThreadAttribute، Thread.ApartmentStateخاصية، أو Page.AspCompatModeبفحص الخاصية و تغيير إعداد شقة لعميل المدارة.

تعيين كاتب مكوّن تقارب مؤشر ترابط الخادم COM. يعرض الجدول التالي تركيبات إعدادات الشقة ملقمات COM و عملاء.NET. ويظهر أيضا عن التنظيم والإرسال متطلبات التركيبات.

عميل.NET

COM الخادم

التنظيم والإرسال متطلبات

MTA (افتراضي)

MTA

sta

التنظيم والإرسال إمكانية التشغيل المتداخل.

interop و COM التنظيم والإرسال.

sta

MTA

sta

interop و COM التنظيم والإرسال.

التنظيم والإرسال إمكانية التشغيل المتداخل.

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

Cross-apartment يتصل between a .NET العميل و COM كائن

تنظيم وإرسال COM

For cross-apartment التنظيم والإرسال, you can do the following:

  • قبول the زائد عن الحد of the cross-apartment التنظيم والإرسال, which هو noticeable فقط when there are many calls عبر the boundary. You must register the نوع مكتبة of the COM مكوّن for calls إلى successfully cross the apartment boundary.

  • تغيير عملية جزئية الرئيسية بإعداد عميل مؤشر الترابط STA أو MTA. For مثال, if your C# العميل calls many STA COM مكونات, you can avoid cross-apartment التنظيم والإرسال بواسطة إعداد the main مؤشر ترابط إلى STA.

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

    Once the مؤشر ترابط of a C# العميل هو التعيين إلى STA, calls إلى MTA COM مكونات will require cross-apartment التنظيم والإرسال.

For instructions تشغيل بوضوح selecting an apartment model, see إدارة و مدارة مؤشر الترابط التشعبي.

العودة إلى الأعلى

التنظيم والإرسال المكالمات بعيد

كـ مع cross-apartment التنظيم والإرسال, COM التنظيم والإرسال هو involved في each يتصل between مدارة و تعليمات برمجية غير مُدارة whenever the الكائنات reside في separate معالجات. فعلى سبيل المثال:

  • عميل COM يستدعي خادم تتم إدارته على مضيف البعيد الموزع يستخدم COM (DCOM).

  • A مدارة العميل that invokes a COM الخادم تشغيل a بعيد مضيف uses DCOM.

The following illustration shows how interop التنظيم والإرسال و COM التنظيم والإرسال provide communications channels عبر عملية و مضيف boundaries.

Cross-عملية التنظيم والإرسال

تنظيم COM

Preserving الهوية

The وقت تشغيل اللغة العامة preserves the الهوية of مدارة و unmanaged مراجع. يبين المثال التالي تدفق مراجع غير مدار المباشر (الصف العلوي) والمراجع التي تمت إدارتها المباشر (الصف السفلي) عبر عملية و مضيف الحدود.

مرجع تمرير عبر عملية و مضيف حدود

COM callable wrapper وruntime callable wrapper

في الرسم التوضيحي التالي:

  • إلغاء مدارة العميل يحصل على مرجع إلى كائن COM من مدارة الكائن الذي يحصل على هذا المرجع من مضيف البعيد. اتصال عن بُعد هو تقنية DCOM.

  • أ مدارة العميل يحصل على مرجع إلى مدارة الكائنات من كائن COM الذي يحصل على هذا المرجع من مضيف البعيد. اتصال عن بُعد هو تقنية DCOM.

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

    تم تصديره نوع يجب مسجَّل مكتبة الملقم الذي تتم إدارته.

عدد حدود العملية بين الطالب و callee هو متعلقة; الرجوع نفس مباشرة إلى إجراء المكالمات قيد التشغيل وإلغاء العملية.

مدارة اتصال عن بُعد

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

مكالمات بعيدة عبر جدر الحماية باستخدام بروتوكول بروتوكول SOAP أو TcpChannel فئة

SOAP أو TcpChannel

يمكن أن channeled بعض استدعاءات غير المدارة من خلال بروتوكول بروتوكول SOAP، مثل كـ الاتصالات بين المكونات التي تم تخديمها من و COM. لمزيد من المعلومات حول استخدام مدارة اتصال عن بُعد، راجع .NET Remoting Overview.

العودة إلى الأعلى

مواضيع ذات صلة

Title

الوصف

الافتراضي سلوك الالتنظيم والإرسال

وصف القواعد التي يستخدمها interop التنظيم والإرسال الخدمة إلى التنظيم والإرسال بيانات.

استدعاء التنظيم والإرسال بيانات بالنظام الأساسي

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

التنظيم والإرسال بيانات مع توافق COM

توضح هذه المقالة كيفية إلى wrappers cusإلىmize COM إلى تبديل السلوك التنظيم.

كيفية القيام بما يلي: قم بتعيين HRESULTs و استثناءات

توضح هذه المقالة كيفية تعيين استثناءات المخصصة إلى HRESULTs و توفير التعيين بالكامل من كل HRESULT إلى فئة ‏‏ استثناء مشابهة لها في إطار عمل.NET.

interoperating باستخدام أنواع العامة

وصف أي إجراءات معتمدة عند استخدام العام أنواع لإمكانية التشغيل المتداخل COM.

interoperating مع تعليمات برمجية مدارة

توضح هذه المقالة خدمات إمكانية التشغيل التفاعلي المتوفّرة من قبل وقت تشغيل اللغة العامة.

إمكانية التشغيل التفاعلي COM متقدم

توفير الارتباطات إلى مزيد من المعلومات حول تضمين COM مكونات في إلى تطبيق الخاص بك من برنامج.NET Framework.

اعتبارات التصميم Interoperation

توفير تلميحات لكتابة COM مكونات المتكاملة.

.NET Remoting

توضح هذه المقالة الأساليب المختلفة متوفر في إطار عمل.NET للاتصالات البعيدة.

العودة إلى الأعلى

المرجع

System.Runtime.InteropServices

العودة إلى الأعلى