मैंने देखा है कि सबसे आम परिदृश्य मुख्य कार्यक्रम की तुलना में एक अलग सुरक्षा मॉडल के साथ विस्तार प्रदान करने में सक्षम होना है।
एक अलग AppDomain में एक प्लगइन लोड हो रहा दो बातें की अनुमति देता है:
- आप एक बहुत सीमित सुरक्षा मॉडल
- लागू कर सकते हैं अगर यह गाड़ी के कारण आपको अपना आवेदन नीचे फाड़ से प्लगइन को रोका जा सकता
ऐपडोमेन्स का एक और अच्छा उपयोग एक असेंबली को लोड और निरीक्षण करना है। इसे एक अलग ऐपडोमेन में करने से आप एक अलग असेंबली से सूचना (या कोड चला सकते हैं) प्राप्त कर सकते हैं, फिर अपनी असेंबली को अपनी प्रक्रिया की जगह से उतार दें। यदि आप सीधे असेंबली लोड करते हैं, तो इसे अनलोड करने का कोई तरीका नहीं है। यह भी उपयोगी है अगर आप रनटाइम पर, एक प्रकार को "अपग्रेड" करने के लिए एक नए संस्करण में सक्षम होना चाहते हैं (यानी: रिमोट असेंबली लोड करें, और बाद में इसे पुनः लोड करें)।
स्रोत
2009-10-28 18:41:10
मुझे यकीन है कि एक अलग एप्लिकेशन डोमेन में एक बग्गी प्लग-इन लोड करना निश्चित रूप से प्लग-इन को आपके एप्लिकेशन को क्रैश करने से नहीं रोक सकता है - एक अनचाहे अपवाद एप्लिकेशन डोमेन को नीचे लाएगा और परिणामस्वरूप पूरी प्रक्रिया समाप्त हो जाएगी। –
+1! ओओ! जानकारी का अच्छा गले लगाना। –
यह इस बात पर निर्भर करता है कि आप चीजें कैसे करते हैं। एक एपडोमेन सेट करना संभव है ताकि इसे फाड़ कर प्रक्रिया को फाड़ न जाए। Http://msdn.microsoft.com/en-us/library/2bh4z9hs.aspx –