2009-04-28 14 views
5

क्या कोड ?:विधानसभा साक्ष्य

object[] hostEvidence = {new Zone(SecurityZone.Internet)}; 
Evidence internetEvidence = new Evidence(hostEvidence, null); 
AppDomain myDomain = AppDomain.CreateDomain("MyDomain"); 
myDomain.ExecuteAssembly("SecondAssembly.exe", internetEvidence); 

का निम्न भाग के प्रयोजन जहाँ तक मुझे CLR स्वचालित रूप से (यह इसके लिए विंडोज पूछता है) जोन जहां विधानसभा के आधार पर प्रदान करती है पता है है से चलाएं (स्थानीय मशीन, इंटरनेट ect ...)। मैं अनुमान लगा रहा हूं कि यह असेंबली के लिए अनुमतियों को कम करने के लिए था, लेकिन जब हमारे पास दो साक्ष्य होते हैं तो हमारे पास दो कोड समूह भी होते हैं जो दिए गए नीति स्तर के भीतर को सम्मिलित करते हैं।

सधन्यवाद पी

उत्तर

1

.नेट फ्रेमवर्क नींव पुस्तक (मैं नहीं अभी तक काफी परीक्षा के लिए यह याद है), साक्ष्य या तो निर्दिष्ट उपयोगकर्ता (.NET कॉन्फ़िगरेशन टूल) या डेवलपर निर्दिष्ट है के अनुसार। तो इस तरह आप स्पष्ट रूप से उस क्षेत्र को परिभाषित कर रहे हैं जिसकी आपको आवश्यकता है।

मुझे सीएलआर स्वचालित रूप से ज़ोन निर्दिष्ट करने के बारे में पता नहीं है हालांकि मैं गलत हो सकता हूं।

+0

सीएलआर स्वचालित रूप से ज़ोन को असाइन नहीं करता है, फिर उन्हें फ़ाइल के स्थान और डिफ़ॉल्ट सुरक्षा नीति के आधार पर मानें। अर्थात। अगर मेरी स्थानीय मशीन पर एक फ़ाइल चल रही है तो इसे पूरी तरह भरोसेमंद माना जाता है। – BinaryMisfit

+1

यह असाइन नहीं करता है लेकिन यह ज़ोन जानकारी के लिए विंडोज से पूछता है। – pkolodziej

+2

इस बारे में आलेख है कि कैसे सीएलआर को असेंबली के लिए ज़ोन सबूत मिलते हैं: http://blogs.msdn.com/shawnfa/archive/2006/05/12/596419.aspx – pkolodziej

0

मुझे उम्मीद है कि ExecuteAssembly विधि के इस अधिभार के बजाय स्वचालित रूप से नए साक्ष्य निर्दिष्ट करने के लिए आपूर्ति किए गए सबूत का उपयोग करता है। अन्यथा, बिंदु क्या होगा?

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