2011-06-23 13 views
7

मैं सिल्वरलाइट ऐप का निर्माण कर रहा हूं जो विभिन्न वेबसाइटों पर आसानी से तैनात किया जा सकता है, और एप्लिकेशन के भीतर से, मुझे सिल्वरलाइट होस्ट किए गए डोमेन/होस्ट तक पहुंचने की ज़रूरत है पर। तो, मैं जानता हूँ कि ब्राउज़र विंडो के भीतर क्षुधा के लिए, इस कोड को पूरी तरह से काम करेगा:सिल्वरलाइट आउट-ऑफ-ब्राउजर में एक्सेस होस्ट या यूआरएल जानकारी

HtmlPage.Document.DocumentUri.Host; 

समस्या है, मैं इस अनुप्रयोग स्थापित होने के लिए और बाहर के ब्राउज़र मोड में भी चलाया जा जरूरत है। हालांकि, जब मैं ओओबी मोड में एक ही कोड को कॉल करता हूं, तो मुझे एक अपवाद मिलता है, जो ब्राउज़र में नहीं चल रहा एसएल के रूप में पूरी तरह से सामान्य है। लेकिन तार्किक रूप से, एसएल ऐप कहीं से स्थापित किया गया है, और मुझे उस "मूल" यूआरएल तक पहुंचने की ज़रूरत है (या कम से कम, मूल प्रोजेक्ट इस परियोजना में मेरे लिए पर्याप्त है)। सीधे शब्दों में कहें, यदि ऐप http://example.com/example.xap से स्थापित है, तो ब्राउज़र से बाहर होने पर प्रोग्रामिंग के बहुत स्ट्रिंग को "http://example.com/example.xap" तक कैसे एक्सेस कर सकता हूं? मैं इसे पहले से नहीं जानूंगा क्योंकि ऐप मॉड्यूलर होगा और किसी भी डोमेन पर तैनात किया जाएगा। अलग भंडारण में सेटिंग्स फ़ाइल बना रहा है और डोमेन स्ट्रिंग को सेट कर रहा है यदि एकमात्र विकल्प सेट नहीं किया गया है, या क्या कोई और मामूली तरीका है?

धन्यवाद, कर सकते हैं।

उत्तर

11

आप पता (OOB में भी) का उपयोग कर Application.Current.Host.Source

+0

धन्यवाद प्राप्त कर सकते हैं, यह मेरी समस्या हल। –

+0

मैं अपने वेब एक्सएपी (वास्तव में चांदी के वेबब्राउज़र नियंत्रण में उपयोग के लिए) के समान वेब एप्लिकेशन पर कुछ वेब पेज होस्ट कर रहा हूं, और इससे मुझे प्रोग्रामेटिक रूप से यूआरएल खोजने में मदद मिली। उत्तम। –

0

आप WebClient के ताजा उदाहरण के BaseAddress से एक्सप का पता प्राप्त कर सकते हैं।

WebClient client = new WebClient(); 
string xapAddress = client.BaseAddress; 

BaseAddress आवेदन मूल पते witth initialised है और एक OOB में काम करेंगे।

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