سؤال

وأنا أعرف أن عند إنشاء DLL واعلان البنود كما "المشتركة" (ثابت في C #) التي يتم إنشاء مثيل أنها عندما دعا أولا، ثم أن مرجع كائن يعيش على كمرجع واحدة.

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

وماذا يحدث خارج مجال التطبيق. إذا وضعنا التجميع في تطبيق الكاش العالمية (GAC) كم عدد الحالات سيكون موجودا؟

وعلى سبيل المثال خاصية ثابتة تسمى "MyFileName" في ملف .dll GAC'ed.

وبعد ذلك لدينا اثنين من التطبيقات داعيا في .dll GAC'ed. كم عدد مثيلات "MyFileName" أن الوجود؟ هل تغييرات على MyFileName من تطبيق نسخة واحدة لأكثر من القيمة التي طلب اثنين من الاستخدامات؟

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

المحلول

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

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