पर डॉटनेट कोड को व्याख्या और/या प्राप्त करना एचटीएमएल में एम्बेडेड जावास्क्रिप्ट की छोटी बिट्स हो सकती हैं (उदा। onclick
ईवेंट हैंडलर में परिभाषित)।रन-टाइम
अगर मैं की तरह सी # एक DotNet भाषा, क्या प्रौद्योगिकियों या एपीआई मैं ऐसे जावास्क्रिप्ट टुकड़े को चलाने के लिए इस्तेमाल कर सकते हैं, यह देखते हुए कि मैं इसे चलाने के समय तक प्राप्त नहीं होता है इस्तेमाल करके एक HTML ब्राउज़र लिख रहे थे (और इसे प्राप्त स्ट्रिंग डेटा के रूप में, निष्पादन योग्य कोड के रूप में नहीं)?
क्या कोड चलाने के लिए यह आसान या कठिन है जावास्क्रिप्ट के बजाय सी # स्निपेट थे?
क्या ऐसी कोई तकनीक है जिसके लिए मेरे कोड को असामान्य निजीकरण की आवश्यकता नहीं है? उदाहरण के लिए,
CodeCompiler.FromSource
जैसी विधिSecurityPermissionFlag.UnmanagedCode
की आवश्यकता है (जो मुझे अत्यधिक लगता है: मुझे नहीं लगता कि कोड को संकलित करना इतना जोखिम भरा क्यों है)।यदि मैंने सर्वर-साइड के साथ-साथ क्लाइंट-साइड कोड को नियंत्रित किया है, तो मैं क्लाइंट की बजाय सर्वर पर ऐसे स्क्रिप्ट टुकड़े संकलित करने पर विचार कर सकता हूं, और उसके बाद इसे क्लाइंट साइड पर प्रीकंपिल्ड कोड के रूप में भेज सकता हूं सज़ा पाएं। क्लाइंट को नेटवर्क पर ऐसे कोड (एक डॉटनेट असेंबली, संभवतः) भेजने का कोई तरीका है, क्लाइंट-साइड कोड क्लाइंट-साइड रैम में नेटवर्क से प्राप्त करता है, और इसे पर के बिना इसे संग्रहीत करता है क्लाइंट-साइड डिस्क ड्राइव पर एक फ़ाइल के रूप में?
संपादित
मैं पहले तीन प्रश्नों के उत्तर है: मैं अपने आप को इस तथ्य है कि संकलन उच्च विशेषाधिकार लेता है इस्तीफा दे दिया है। मैं नहीं देखता क्यों; हो सकता है (हालांकि मुझे यह एक बहुत ही विश्वसनीय कारण नहीं मिला है) ऐसा इसलिए है क्योंकि संकलक अप्रबंधित कोड का उपयोग करके लागू किया गया है। शायद यह "सी # संस्करण 5" समय सीमा में प्रबंधित कोड का उपयोग कर कंपाइलर को फिर से लागू करने पर बदल जाएगा। किसी भी मामले में, जो भी कारण है, ऐसा लगता है कि यह तरीका है, और कोई कार्य-आसपास नहीं है (अन्य समान एपीआई लेकिन जिनके लिए कम विशेषाधिकारों की आवश्यकता होती है)।
मेरा शेष प्रश्न यह है कि एक मशीन से दूसरे में एक असेंबली उदाहरण कैसे प्राप्त करें। जब मेरे पास समय होता है तो मुझे पता चल जाएगा कि अविश्वसनीय कोड Assembly.Load(byte[] rawAssembly)
विधि चला सकता है या नहीं।
क्या आपने पीडीसी '08 से एंडर्स आरईपीएल पाश डेमो देखा है। बस आने तक प्रतीक्षा करें और आप सेट हो जाएंगे :) --http: //channel9.msdn.com/pdc2008/TL16/ (यह अंत की ओर है) –
तो आप क्लाइंट से .NET कोड की व्याख्या करना चाहते हैं, संकलित करें सर्वर पक्ष, फिर सीधे स्मृति से क्लाइंट पर निष्पादित करें? –
मेरे पास कुछ क्लाइंट-सर्वर कोड पहले से चल रहा है। इसका उपयोग करके मैं क्लाइंट पर चलाने के लिए सर्वर से स्क्रिप्ट भेजना चाहता हूं। अगर उन स्क्रिप्ट को संकलित करने की आवश्यकता है, तो मुझे इस बात पर कोई फर्क नहीं पड़ता कि वे सर्वर पर या क्लाइंट पर संकलित हैं या नहीं। मैं क्लाइंट-साइड कोड का उपयोग करके ऐसा करना पसंद करूंगा जिसमें कम से कम निजीकृत हैं, उदा। "आंशिक ट्रस्ट/इंटरनेट जोन", जो मुझे क्लाइंट-साइड डिस्क आदि पर लिखने से रोकता है – ChrisW