2012-04-04 8 views
6

मैं कोड को पोर्ट कर रहा हूं जो बेहतर ठंड स्टार्टअप प्रदर्शन के लिए DynamicMethod एस का व्यापक रूप से प्रीकंपिलेशन की अनुमति देता है। मैंने देखा कि DynamicMethod एस को जिटेट किया जा सकता है और दृश्यता जांच के साथ निष्पादित किया जा सकता है, जो उन्हें निजी नेस्टेड प्रकारों तक पहुंचने की अनुमति देता है, फिर भी सामान्य असेंबली नहीं कर सकते हैं (या वे नहीं कर सकते हैं? मुझे कोई स्पष्ट लोडर विकल्प नहीं दिख रहा है)। इस डिजाइन के फैसले के पीछे तर्क क्या है?क्यों गतिशील तरीकों के लिए केवल दृश्यता जांच छोड़ने की अनुमति है?

+1

-unity, क्योंकि यह माइक्रोसॉफ्ट यूनिटी से संबंधित नहीं है। आप इस ब्लॉग पोस्ट को पढ़ सकते हैं, http://davedewinter.com/2010/11/21/tip-22-dynamicmethods-in-partial-trust/ ऐसा करने के लिए कुछ अनुमतियों की आवश्यकता होती है। इसलिए, यदि आप ऐसे प्रयासों को प्रतिबंधित करना चाहते हैं जो आप कर सकते हैं। –

उत्तर

2

मुझे अपने हाथों को इस सवाल का जवाब देने की जरूरत है, सीएएस हमेशा जटिल है। SkipVisibility तर्क विश्वसनीय होस्ट अनुप्रयोगों के लिए प्रासंगिक है जो सैंडबॉक्स में निष्पादित कोड उत्पन्न करते हैं। ऐसे मामले में, निष्पादन वातावरण गलत होने के बाद विधि उत्पन्न होने पर चेक निष्पादित करना उचित नहीं है। यह तब होता है जब विधि सैंडबॉक्स के अंदर निष्पादित करती है। जहां यह सैंडबॉक्स द्वारा किए गए सामान्य सीएएस चेक के अधीन है।

वास्तव में में तर्क को सही करने के लिए को प्रतिबिंब PermissionFlag.MemberAccess की अनुमति मांग, विधि उत्पन्न होने पर एक शॉट प्राप्त करने की आवश्यकता है।

टॉपसी-टर्वी। this MSDN article में कुछ पृष्ठभूमि जानकारी है, "सैंडबॉक्स किए गए डोमेन में प्रतिबंधित MemberAccess जोड़ना" अनुभाग।

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

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