2009-10-28 4 views
6

किसी एप्लिकेशन के भीतर नए एप्लिकेशन डोमेन बनाने के लिए कुछ दिशानिर्देश और सर्वोत्तम प्रथाएं क्या हैं?.NET में अनुप्रयोग डोमेन के लिए सामान्य उपयोग और सर्वोत्तम प्रथाएं?

इसके अलावा, कुछ सामान्य उपयोग और उदाहरण हैं कि एप्लिकेशन के साथ कितने एप्लिकेशन डोमेन का उपयोग किया जाता है?

उत्तर

7

मैंने देखा है कि सबसे आम परिदृश्य मुख्य कार्यक्रम की तुलना में एक अलग सुरक्षा मॉडल के साथ विस्तार प्रदान करने में सक्षम होना है।

एक अलग AppDomain में एक प्लगइन लोड हो रहा दो बातें की अनुमति देता है:

  1. आप एक बहुत सीमित सुरक्षा मॉडल
  2. लागू कर सकते हैं अगर यह गाड़ी के कारण आपको अपना आवेदन नीचे फाड़ से प्लगइन को रोका जा सकता

ऐपडोमेन्स का एक और अच्छा उपयोग एक असेंबली को लोड और निरीक्षण करना है। इसे एक अलग ऐपडोमेन में करने से आप एक अलग असेंबली से सूचना (या कोड चला सकते हैं) प्राप्त कर सकते हैं, फिर अपनी असेंबली को अपनी प्रक्रिया की जगह से उतार दें। यदि आप सीधे असेंबली लोड करते हैं, तो इसे अनलोड करने का कोई तरीका नहीं है। यह भी उपयोगी है अगर आप रनटाइम पर, एक प्रकार को "अपग्रेड" करने के लिए एक नए संस्करण में सक्षम होना चाहते हैं (यानी: रिमोट असेंबली लोड करें, और बाद में इसे पुनः लोड करें)।

+0

मुझे यकीन है कि एक अलग एप्लिकेशन डोमेन में एक बग्गी प्लग-इन लोड करना निश्चित रूप से प्लग-इन को आपके एप्लिकेशन को क्रैश करने से नहीं रोक सकता है - एक अनचाहे अपवाद एप्लिकेशन डोमेन को नीचे लाएगा और परिणामस्वरूप पूरी प्रक्रिया समाप्त हो जाएगी। –

+0

+1! ओओ! जानकारी का अच्छा गले लगाना। –

+3

यह इस बात पर निर्भर करता है कि आप चीजें कैसे करते हैं। एक एपडोमेन सेट करना संभव है ताकि इसे फाड़ कर प्रक्रिया को फाड़ न जाए। Http://msdn.microsoft.com/en-us/library/2bh4z9hs.aspx –

3

प्लगइन-/एडिन जैसी मामलों के लिए एक सामान्य उदाहरण है। यदि आवश्यक हो तो यह आपको डीएलएल को अनलोड करने की अनुमति नहीं देता है, यह आपको प्लगइन की अनुमति देने के लिए बेहतर सुरक्षा नियंत्रण भी देता है।

इसके अलावा, यदि आप अस्थायी असेंबली (कोड पीढ़ी) बनाते हैं जिसे आप फिर से उतारना चाहते हैं, तो यह करने का यह एक अच्छा तरीका है। (एलसीजी केवल एक ही विधि को लागू करने की अनुमति देता है, यदि आप एक पूर्ण श्रेणी को लागू करना चाहते हैं जिसे आपको "असली" असेंबली में छोड़ने की आवश्यकता है)।

5

जब आप अविश्वसनीय हैं या आप उन पर भरोसा नहीं करते हैं (जैसे प्लग-इन) या आप उन्हें अनलोड करने में सक्षम होना चाहते हैं तो आपको नए डोमेन बनाने की अनुशंसा की जाती है।

संबंधित मुद्दे

 संबंधित मुद्दे