2010-03-03 17 views
6

पर स्विचिंग मैंने .NET 3.5 में एक विंडोज़ फॉर्म निष्पादन योग्य बनाया जो एक मशीन के साथ संवाद करने के लिए एक डीएल का उपयोग करता है जो चेक स्कैन करता है। मुझे अंत में एक निष्पादन योग्य से वेब फॉर्म में जाने की आवश्यकता होगी जो एक ही काम कर सकता है। यह अब से महीनों का होगा, लेकिन मैं अब शोध करना शुरू करना चाहता था क्योंकि मैंने पहले ऐसा नहीं किया है। मुझे वेब फॉर्म के माध्यम से डिवाइस के साथ संवाद करने के लिए ActiveX का उपयोग करने की आवश्यकता होगी। मैंने पहले भी ऐसा नहीं किया है।विंडोज फॉर्म से वेब फॉर्म

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

अग्रिम धन्यवाद।

+0

क्या आप समझा सकते हैं कि इसे वेब फ़ॉर्म क्यों होना चाहिए? क्या यह तैनाती/buzzword अनुपालन/पार मंचन का मुद्दा है? –

+0

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

+0

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

उत्तर

5

यह वह जगह है जहां चिंताओं और एन-स्तरीय डिज़ाइन को अलग करना चमकता है। उम्मीद है कि आपकी यूआई परत आपके डोमेन मॉडल से कम हो गई है। यदि ऐसा है, तो आप वेब के लिए दूसरी आईयू परत कोड कर सकते हैं। और अपने डोमेन मॉडल को बिल्कुल बदलना नहीं है। फिर आप प्रत्येक परिदृश्य के लिए संकलित कर सकते हैं।

* नोट - व्यावहारिक उपयोग में मुझे हमेशा दूसरे यूआई के साथ कुछ मुद्दों के लिए अपने व्यवसाय डोमेन का विस्तार करना पड़ता है, लेकिन उन संशोधनों में आमतौर पर मामूली रहा है, और उन जगहों को इंगित किया है जहां मैंने बहुत कसकर जोड़ा था।


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

0

आम तौर पर, Winforms को वेबफॉर्म में कनवर्ट करना काफी संभव है, हालांकि आमतौर पर धीमी विकास प्रक्रिया होती है। यहां तक ​​कि यदि आपको दुनिया में सबसे स्वच्छ डोमेन परत मिल गई है, तो तथ्य यह है कि आपके वेब पेज में ऑब्जेक्ट्स को हर बार फेंक दिया जाता है, इसका मतलब है कि एक वेब डोमेन परत आमतौर पर डेस्कटॉप डोमेन परत पर बहुत अलग तरीके से लिखी जाती है।

हालांकि, आपके मामले में डिवाइस - सर्वर संचार अतिरिक्त कठिन होने जा रहा है।

क्या आपने xbap को देखा है? यह मूल रूप से एक वेब पेज में WPF अनुप्रयोगों को तैनात करने का एक तरीका है। इसके लिए आपके ग्राहकों को .NET इंस्टॉल करने का सही संस्करण होना आवश्यक है, लेकिन यह आपके लिए सबसे आसान मार्ग होगा, विशेष रूप से यह मानते हुए कि आप WPF में Winforms होस्ट कर सकते हैं ...

+0

मैं xbap में देखूंगा, लेकिन मुझे विश्वास नहीं है कि मुझे इसे अपने मौजूदा वातावरण में उपयोग करने की अनुमति होगी। – Aaron

1

"मैं कार्यक्षमता रखना चाहता हूं मेरे मौजूदा निष्पादन योग्य में से अधिकांश को फिर से लिखने के बिना "

सामान्य रूप से यदि आप अपनी असेंबली/डीएलएल में जितना संभव हो उतना तर्क निकालते हैं, तो आप जो भी यूआई फ्रेमवर्क चाहते हैं उसका पुन: उपयोग कर सकते हैं। बस सुनिश्चित करें कि आप वहां कुछ भी यूआई विशिष्ट नहीं कर रहे हैं (संवाद बॉक्स फेंकना आदि)।

0

आप सिल्वरलाइट 4 पर एक नज़र ले सकते हैं,

http://silverlight.net/getstarted/silverlight-4-beta/

ऐसा नहीं है कि एएसपी कई सुविधाओं में शामिल है।नेट वेब फॉर्म नहीं है।

यदि आपकी टीम ActiveX की तरह कुछ स्वीकार कर सकती है, तो Silverlight 4 क्यों नहीं? एकमात्र नुकसान यह है कि एसएल 4 अभी भी बीटा में है।

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