का भार संदर्भ एक भरी हुई Assembly
को देखते हुए निर्धारित वहाँ एक रास्ता (कोड में) निर्धारित करने के लिए है जो 3 लोड संदर्भों यह (डिफ़ॉल्ट लोड, LoadFrom, या न तो) में लोड किया गया था?एक विधानसभा
Suzanne Cook's "Choosing a Binding Context" आलेख में, कुछ नुकसान होते हैं जब एक असेंबली लोडफ़्रम में लोड होती है। विशेष रूप से, मेरी लाइब्रेरी deserialization का उपयोग करती है और InvalidCastException
का सामना करती है जब लोडफ़्रॉम संदर्भ में लोड किया जाता है।
वर्तमान में मेरी लाइब्रेरी बहुत देर हो चुकी है (यह समस्याग्रस्त deserialization कोड निष्पादित करता है जब यह विफल रहता है - my example देखें)। मैं इन परिस्थितियों में बहुत पहले विफल होना चाहता हूं, जो संदर्भ में लोड हो रहा है और अपवाद फेंक रहा है अगर इसे डिफ़ॉल्ट लोड संदर्भ में लोड नहीं किया गया है।
IMO एक (बहुत ही सुंदर नहीं) समाधान विधानसभा उपवर्ग, पुनर्लेखन लोड तरीकों और जब एक विधि का प्रयोग किया जाता है कस्टम झंडे को जोड़ने के लिए किया जाएगा। – pasty
@pasty लोड विधि का उपयोग किया जाता है, जिसके परिणामस्वरूप असेंबली को किसी विशेष संदर्भ में लोड नहीं किया जाता है। अर्थात। कॉलिंग असेंबली। लोड हमेशा असेंबली को लोड लोड संदर्भ में लोड नहीं करता है। इसके अलावा, मैं असेंबली लोड करने वाले कोड के नियंत्रण में नहीं हूं। –
क्या आपने 'Assembly.होस्टकॉन्टेक्स्ट' संपत्ति के व्यवहार का परीक्षण किया है? यह 'लंबा' प्रकार का है। मैंने JustDecompile का उपयोग करके उस संपत्ति में देखा, लेकिन मुझे अभी भी कोई संकेत नहीं है कि इसका मूल्य उन 3 श्रेणियों में कैसे मैप कर सकता है। –