एप्लिकेशन डोमेन

एप्लिकेशन डोमेन प्रणाली है ( संचालन प्रणाली में प्रक्रिया (कंप्यूटिंग) के समान) का उपयोग सामान्य भाषा अवसंरचना (CLI) के अंदर निष्पादित सॉफ़्टवेयर अनुप्रयोगों को दूसरे से भिन्न करने के लिए किया जाता है जिससे वे एक- दूसरे को प्रभावित न करें। प्रत्येक एप्लिकेशन डोमेन का अपना आभासी  एड्रेस स्थान होता है, जो उस एड्रेस स्पेस का उपयोग करके एप्लिकेशन डोमेन के लिए संसाधन (प्रोग्रामिंग) करता है।

नेट कोर और नेट 5+ में प्रक्रिया में कई एप्लिकेशन डोमेन बनाना संभव नहीं है।

गुण
सीएलआई एप्लिकेशन डोमेन संचालन प्रणाली प्रक्रिया के अंदर समाहित है। प्रक्रिया में कई एप्लिकेशन डोमेन हो सकते हैं। एप्लिकेशन डोमेन में संचालन प्रणाली प्रक्रियाओं के समान एकांत गुण होते हैं।
 * एकाधिक थ्रेड (कंप्यूटर विज्ञान) एप्लिकेशन डोमेन के अंदर हो सकते हैं।
 * प्रक्रिया में दूसरे डोमेन की स्थिति को प्रभावित किए बिना डोमेन के अंदर एप्लिकेशन को रोका जा सकता है।
 * डोमेन में जावास्क्रिप्ट में अपवाद हैंडलिंग किसी अन्य डोमेन में किसी एप्लिकेशन को प्रभावित नहीं करती है या डोमेन को होस्ट करने वाली पूर्ण प्रक्रिया को क्रैश नहीं करती है।
 * कॉन्फ़िगरेशन जानकारी डोमेन के सीमा का भाग है, न कि प्रक्रिया की सीमा।
 * प्रत्येक डोमेन को भिन्न-भिन्न सुरक्षा पहुँच स्तर निर्दिष्ट किए जा सकते हैं।
 * डोमेन में कोड दूसरे डोमेन में सीधे कोड तक नहीं पहुंच सकता है।

सीएलआई मिनी-संचालन प्रणाली के जैसे है। यह एकल प्रक्रिया चलाता है जिसमें कई उप-प्रक्रियाएँ या अनुप्रयोग डोमेन होते हैं।

एप्लिकेशन डोमेन का लाभ यह है कि कई एप्लिकेशन डोमेन चलाने के लिए कम संसाधनों की आवश्यकता हो सकती है, जैसे कि मेमोरी, कई संचालन प्रणाली प्रक्रियाओं को चलाने की तुलना में डोमेन के मध्य संचार के लिए अभी भी प्राथमिकता निर्धारण की आवश्यकता होती है, इसलिए उपरिव्यय डोमेन के अंदर संचार करने की तुलना में कई प्रक्रियाओं का उपयोग करने के निकट हो सकते हैं।

इंटर-डोमेन संचार
एप्लिकेशन डोमेन में प्रत्यक्ष संचार प्राप्त नहीं किया जा सकता है। चूंकि, एप्लिकेशन डोमेन अभी भी वस्तु (कंप्यूटर विज्ञान)  को  मार्शलिंग (कंप्यूटर विज्ञान)  के माध्यम से मूल्य के माध्यम से प्रतिनिधि (एप्लिकेशन-डोमेन-बाउंड ऑब्जेक्ट्स) के माध्यम से संदर्भ द्वारा मार्शलिंग करके दूसरे से वार्तालाप कर सकते हैं। तीसरे प्रकार की वस्तु है जिसे संदर्भ-बाध्य वस्तु कहा जाता है जिसे डोमेन के संदर्भ में और स्वयं के अनुप्रयोग डोमेन के संदर्भ में भी मार्शल किया जा सकता है। प्रबंधित कोड की सत्यापित प्रकार-सुरक्षा के कारण,  सीएलआई संचालन प्रणाली प्रक्रिया की तुलना में अत्यधिक कम व्यय पर डोमेन के मध्य दोष भिन्नता प्रदान कर सकता है। भिन्नता के लिए उपयोग किए जाने वाले स्थिर प्रकार के सत्यापन के लिए उसी प्रक्रिया स्विच या हार्डवेयर रिंग ट्रांज़िशन की आवश्यकता नहीं होती है जो संचालन प्रणाली प्रक्रिया की आवश्यकता होती है।

प्रबंधित कोड
एप्लिकेशन डोमेन विशुद्ध रूप से प्रबंधित कोड अवधारणा हैं। कोई भी सम्मिलित मूल (कंप्यूटिंग) अप्रबंधित कोड (उदाहरण के लिए, सी ++) उनके विषय में अधिक सीमा तक अपरिचित है। ऐसा प्रतीत होता है कि स्थैतिक चर डोमेन में विचार किए गए हैं, कॉलबैक समस्याग्रस्त हो सकते हैं, और डोमेन में कोई स्मृति भ्रष्टाचार बग अन्य डोमेन को दूषित करने की संभावना है।

संदर्भ

 * Microsoft Developer Network page on application domains
 * Unmanaged callbacks across AppDomains