एक AppDomain मूल रूप से एक अलग क्षेत्र प्रदान करता है जिसमें कोड एक प्रक्रिया के अंदर चलता है।
इसके बारे में सोचने का एक आसान तरीका लगभग आपकी मुख्य प्रक्रिया के अंदर बैठे एक हल्के वजन की प्रक्रिया जैसा है। प्रत्येक AppDomain पूर्ण अलगाव में एक प्रक्रिया के भीतर मौजूद है, जो आपको कोड को सुरक्षित रूप से चलाने की अनुमति देता है (यदि आवश्यक हो तो पूरी प्रक्रिया को फाड़े बिना इसे अनलोड किया जा सकता है), अलग सुरक्षा के साथ, आदि।
अपनी बारीकियों के अनुसार - यदि आप एक प्रक्रिया के भीतर 2 अलग-अलग AppDomains में कोड चलाते हैं, तो कोड अलगाव में चलेगा। AppDomains के बीच किसी भी संचार या तो धारावाहिक या MarshallByRefObject के माध्यम से नियंत्रित किया जाएगा। यह इस संबंध में रीमोटिंग का उपयोग करना बहुत पसंद करता है। यह एक बड़ी मात्रा में सुरक्षा प्रदान करता है - आप उस कोड को चला सकते हैं जिस पर आपको भरोसा नहीं है, और यदि यह कुछ गलत करता है, तो यह आपको प्रभावित नहीं करेगा।
MSDN के अनुप्रयोग डोमेन के विवरण में कई और विवरण हैं ।