/ / XBAP को ब्राउज़र में चलाने के लिए स्मार्ट क्लाइंट को परिवर्तित करना - xbap, scsf

ब्राउज़र में इसे चलाने के लिए स्मार्ट क्लाइंट को एक्सबीएपी में कनवर्ट करना - xbap, scsf

हमें ब्राउज़र में WinForm स्मार्ट क्लाइंट डेस्कटॉप एप्लिकेशन चलाने की आवश्यकता है। निम्नलिखित लेख बताते हैं कि WPF ब्राउज़र एप्लिकेशन (XBAP) में एक WinForm होस्ट कैसे करें।

http://www.codeproject.com/Articles/31429/Embedding-a-NET-WinForms-Application-in-an-Interne

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

उत्तर:

जवाब के लिए 0 № 1

अंत में इसे प्राप्त करने के लिए कुछ वर्कअराउंड मिला।

ओवरराइड प्रारंभ विधिWindowsFormsApplication वर्ग जो शेल फॉर्म चलाता है। लेकिन इससे फॉर्म की एक और समस्या दूर हो जाती है। CabApplication.un विधि आंतरिक रूप से प्रारंभ विधि को कॉल करती है और फिर एक बार बंद होने के बाद फ़ॉर्म को डिस्पोज़ कर देती है। जैसा कि मैं प्रारंभ विधि में प्रपत्र प्रदर्शित नहीं कर रहा हूं, यह सीधे निपटाने के लिए जाता है।

इसे दूर करने के लिए, मैंने SCSF फ्रेमवर्क में रन पद्धति से कॉल डिस्पोज़ करने के लिए टिप्पणी की है और आवेदन में संभाला है। मुझे यकीन नहीं है कि फ्रेमवर्क में बदलाव करना एक अच्छा विचार है लेकिन यह मेरे लिए काम करता है।

XBAP एप्लिकेशन में शैल ऑब्जेक्ट प्राप्त करने के लिए, मैंWinForm एप्लिकेशन में एक विधि बनाई गई, जो फॉर्म ऑब्जेक्ट लौटाती है। मैंने शेल निर्माण के बारे में XBAP एप्लिकेशन को सूचित करने के लिए AfterShellCreated में एक घटना का भी उपयोग किया।

इन सभी परिवर्तनों के साथ, मैं स्मार्ट क्लाइंट को WPF ब्राउज़र आधारित एप्लिकेशन में होस्ट करने में सक्षम हूं।

उम्मीद है कि इससे दूसरों को मदद मिलेगी।