2010-02-12 9 views
7

हम एक मौजूदा एएसपी.NET 3.5 एप्लिकेशन के साथ एक पूर्ण उड़ा हुआ जीडब्ल्यूटी (Google वेब टूलकिट 2.0) एप्लिकेशन को एकीकृत करने की सोच रहे हैं। मेरी पहली आंत प्रतिक्रिया यह है कि यह एक भयानक फ्रैंकेंस्टीन विचार है। हालांकि, ग्राहक ने जोर देकर कहा है कि हम इस एप्लिकेशन का उपयोग किसी तृतीय पक्ष द्वारा विकसित किए गए हैं।एएसपी.नेट 3.5 ऐप से आईएफआरएएम के अंदर एक जीडब्ल्यूटी एप्लीकेशन (एप्लेट्स सहित) चलाना?

मेरे पास जीडब्ल्यूटी ऐप के विकास पर लगभग कोई नियंत्रण नहीं है।

मेरा पहला विचार वास्तव में इसे आईफ्रेम में एम्बेड करने का प्रयास करना है। चूंकि जीडब्ल्यूटी टॉमकैट/जकार्ता के तहत चल रहा है, इसलिए इसे .NET ऐप से एक अलग सर्वर पर होस्ट किया जाता है, इसलिए iFrame src अन्य मशीन पर एक यूआरएल होगा।

मुझे एम्बेडेड जीडब्ल्यूटी एप्लिकेशन तक पहुंच प्रतिबंधित करने के लिए अपनी खुद की एएसपी.NET प्रमाणीकरण योजना का उपयोग करने की आवश्यकता है। जीडब्ल्यूटी ऐप एम्बेडेड जावा एप्लेट्स का भी उपयोग करता है, जो अभी आईफ्रेम के अंदर काम नहीं कर रहा है। जीडब्ल्यूटी ऐप बैकएंड सर्वर पर कॉल करता है (जीडब्ल्यूटी-आरपीसी का उपयोग कर?)।

इस दृष्टिकोण के साथ कोई भी बड़ी समस्या है जो कोई भी देख सकता है? एक अलग मशीन पर होस्ट किए जाने पर जीडब्ल्यूटी एक आईफ्रेम पर काम करेगा?

नोट: सरल नाम के साथ एक डीवी जोड़ना इसके लिए काम नहीं करता है!

उत्तर

6

टोनी ने जो कहा, उस पर विस्तार करने के लिए, जीडब्ल्यूटी किसी भी पेज पर रह सकता है। अपने निम्नतम स्तर पर, जीडब्ल्यूटी div में अपनी आईडी या body तत्व द्वारा हुक करता है, इसके RootPanel के रूप में, और वहां से विजेट जोड़ता है।

बस अपने एएसपी पेज पर <div id="gwt-root" /> और अपने जीडब्ल्यूटी कोड में एक div जोड़ें, RootPanel root = RootPanel.get("gwt-root") से शुरू करें। फिर आप अपने पृष्ठ के जीडब्ल्यूटी भाग को बनाने के लिए उस पैनल में विजेट जोड़ना शुरू कर सकते हैं।

आप भी अपने GWT में लाने के लिए की आवश्यकता होगी एक script टैग के साथ कोड उत्पन्न है, तो जैसे:

<script type="text/javascript" src="gwt-app-name/gwt-app-name.nocache.js"> 

इसके अलावा, अगर आप चाहते हैं, GWT नियमित जावास्क्रिप्ट का उपयोग का उपयोग कर पृष्ठ के बाकी के साथ बातचीत कर सकते हैं JSNI

+0

कृपया मूल प्रश्न में ध्यान दें। मेरे पास मूल जीडब्ल्यूटी स्रोत तक पहुंच नहीं है और इसे एक अलग मशीन पर होस्ट किया जा रहा है, इसलिए क्या आपका सुझाव वास्तव में एक्सएसएस समस्या होगी? चूंकि मैं एक अलग सर्वर पर * .nocache.js फ़ाइल का संदर्भ नहीं दे सकता। –

+2

आप किसी भी साइट से जेएस फ़ाइल का संदर्भ दे सकते हैं (जब तक फ़ाइल पठनीय हो)। बस 'http: // otherserver.com/gwt-app-name/gwt-app-name.nocache.js' पर एक पूर्ण URL पर अपना' स्क्रिप्ट 'टैग बदलें। जहां आपको समस्या हो सकती है, जीडब्ल्यूटी-आरपीसी अनुरोध करने में है ... उस स्थिति में, आप अन्य सर्वर पर होस्ट किए गए आईफ्रेम के अंदर जीडब्ल्यूटी ऐप को कह सकते हैं और चला सकते हैं। –

1

आपको आईएफआरएएम की आवश्यकता नहीं है। अपना आवेदन लिखें ताकि मुख्य पैनल को एक विशिष्ट आईडी के साथ एक div के अंदर होस्ट किया जा सके। यदि आपका एएसपीनेट एक ही आईडी के साथ एक div प्रदान कर सकता है, तो आपको केवल जेनरेट की गई जावास्क्रिप्ट फाइलें (+ कुछ स्टाइल शीट्स) शामिल हैं और आपका एप्लिकेशन div के अंदर प्रदर्शित होगा।