مجالات التطبيقات

أنظمة التشغيل و بيئات وقت التشغيل عادة ما توفر بعض أشكال العزل بين التطبيقات. على سبيل المثال، يستخدم Windows العمليات لعزل التطبيقات. هذا العزل ضروري للتأكد من أن التعليمات البرمجية قيد التشغيل في تطبيق ما لا تؤثر على تطبيقات أخرى غير ذات صلة بصورة عكسية.

مجالات التطبيقات توفر حد عزل للأمان و الوثوقية و لتعيين الإصدار , و لإلغاء تحميل التجميعات. مجالات التطبيقات عادةً ما يتم إنشاؤها بواسطة مضيف وقت التشغيل المسؤولة عن إطلاق وقت تشغيل اللغة العامة قبل تشغيل التطبيق.

المواضيع في هذا القسم من الوثائق تشرح كيفية استخدام مجالات التطبيقات لتوفير العزل بين التجميعات.

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

  • فوائد عزل التطبيقات

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

  • المرجع

فوائد عزل التطبيقات

من وجهة تاريخية، تم استخدام حدود العمليات لعزل التطبيقات التي تعمل على نفس جهاز الكمبيوتر. يتم تحميل كل تطبيق في عملية منفصلة , مما يعزل التطبيق عن التطبيقات الأخرى قيد التشغيل على نفس الكمبيوتر.

يتم عزل التطبيقات لأن عناوين الذاكرة نسبية للعملية; تمرير مؤشر الذاكرة من عملية لأخرى لا يمكن استخدامه بأي طريقة ذات معنى في العملية الهدف. بالإضافة إلى ذلك، لا يمكنك إجراء إستدعاءات مباشرة بين عمليتن. بدلاً من ذلك، يجب عليك استخدام الوكلاء التي توفر مستوى من المراوغة.

يجب أن يتم تمرير التعليمات البرمجية المُدارة خلال عملية تحقق قبل أن يمكن تشغيلها (إلا إذا قام المسؤول بمنح الإذن لتخطي هذا التحقق). عملية التحقق تحدد ما إذا كانت التعليمات البرمجية يمكنها محاولة الوصول إلى عناوين الذاكرة الغير صالحة أو تنفيذ إجراء آخر قد يتسبب في فشل تشغيل العملية التي تحتوي هذه التعليمات البرمجية قيد التشغيل . التعليمات البرمجية التي تجتاز اختبار التحقق يقال أنها آمنة للأنواع. القدرة على التحقق من التعليمات البرمجية كآمنة للأنواع تُمكِن وقت تشغيل اللغة العامة من توفير مستوى عزل رائع مثل حد العمليات ,بتكلفة أداء أقل بكثير.

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

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

العزل الموفر من قِبل مجالات التطبيقات له الفوائد التالية:

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

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

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

    لا يمكنك إلغاء تحميل التجميعات أو الأنواع الفردية.فقط يمكنك إلغاء تحميل مجال كامل.

  • التعليمات البرمجية التي تعمل في تطبيق ما لا يمكنها الوصول مباشرة إلى التعليمات البرمجية أو الموارد في تطبيق آخر. وقت تشغيل اللغة العامة يفرض هذا العزل بمنع الإستدعاءات المباشرة بين الكائنات في مجالات التطبيقات المختلفة. الكائنات التي تمر بين المجالات إما أن تُنَسخ أو يتم الوصول عبر الوكيل. إذا تم نسخ الكائن , فإستدعاء الكائن محلي. أي أن ،كلاً من المُستَدعِي و الكائن الذي تتم الإشارة إليه في نفس مجال التطبيق. إذا تم الوصول إلى الكائن من خلال وكيل ,فاستدعاء الكائن عن بُعد. في هذه الحالة، المُستَدعِي و الكائن الذي تتم الإشارة إليه في مجالات تطبيقات مختلفة. الإستدعاءات عبر المجالات تستخدم نفس البنية التحتية للإستدعاءات عن بُعد كالإستدعاءات بين عمليتن أو بين جهازين. لعى هذا النحو ، يجب توفر بيانات التعريف للكائن الذي تتم الإشارة إليه لكلا مجالي التطبيق للسماح لاستدعاء الأسلوب بأن يتم تحويله برمجياً (في الوقت المناسب) JIT بشكل صحيح. إذا كان المجال المُستَدعِي لا يمكنه الوصول إلى بيانات التعريف للكائن المُستَدعَى , قد يفشل التحويل البرمجي مع استثناء من نوع System.IO.FileNotFound. راجع Remote Objects للمزيد من المعلومات. يتم تحديد آلية لتحديد كيفية الوصول إلى الكائنات عبر المجالات بواسطة الكائن. لمزيد من المعلومات، راجع فئة MarshalByRefObject.

  • سلوك التعليمات البرمجية يُراقب بواسطة التطبيق التي تُشَغَل فيه. بمعنى آخر، يوفر مجال التطبيق إعدادات التكوين مثل نُهوج الإصدار للتطبيقات , و موقع أي تجميعات بعيدة يصل إليها , و معلومات حول كيفية تحديد موقع التجميعات التي يتم تحميلها في المجال.

  • الأذونات الممنوحة للتعليمات البرمجية يمكن التحكم فيها من قِبل مجال التطبيق حيث يتم تشغيل التعليمات البرمجية.

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

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

Title

الوصف

مجالات التطبيق و التجميعات

يصف العلاقة بين مجالات التطبيق و التجميعات.

مجالات التطبيق و مؤشرات الترابط

تصف العلاقة بين مجالات التطبيقات و دوال نظام التشغيل الخيطية.

البرمجة مع مجالات التطبيقات

تصف هذه المقالة كيف تبرمج مع مجالات التطبيقات.

نظرة عامة حول استضافة

تصف هذه المقالة كيفية إنشاء و تكوين مجالات التطبيقات.

عملاء وقت التشغيل

توضح هذه المقالة كيفية استخدام مضيف وقت تشغيل.

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

المرجع

System.MarshalByRefObject

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