हमारे पास सी # 3.5 (एसपी 1) में WinForms एप्लिकेशन है। हम एप्लिकेशन को एकाधिक विंडो उदाहरणों के साथ स्मृति में एक प्रक्रिया में प्रतिबंधित करना चाहते हैं। हम एक एमडीआई दृष्टिकोण की तलाश नहीं कर रहे हैं, लेकिन कई आवेदन प्रक्रियाओं को लॉन्च किए बिना अलग मुख्य रूप उदाहरण हैं।एकाधिक उदाहरणों के साथ WinForm एप्लिकेशन को एक प्रक्रिया में प्रतिबंधित करना
हम तीन तरीकों का मूल्यांकन कर रहे:
- विंडोज संदेश
- कॉम
- WCF
हम विंडोज संदेश और अधिभावी winproc के साथ पहली बार 2 (PInvoke के लिए किसी न किसी तरह विवरणों की COM रजिस्ट्री, आदि) और वे पुरानी प्रौद्योगिकियों का उपयोग करते हैं।
हमने डब्ल्यूसीएफ का उपयोग नामित पाइप के साथ करने के विचार पर चर्चा की और लगता है कि यह कार्य को पूरा करने के लिए सबसे साफ और आसान तरीका हो सकता है।
एकाधिक मुख्य रूप उदाहरणों के साथ एक प्रक्रिया में एप्लिकेशन को प्रतिबंधित करने का सबसे साफ, आधुनिक तरीका क्या है?
कॉम, WCF क्या कर में अंतर-मशीन संचार करने के लिए आधुनिक तरीका है के लिए और विंडोज संदेशों को इसके साथ क्या करना है? –
किसी ने रजिस्ट्री में COM के साथ पहला एप्लिकेशन पंजीकृत करने और फिर यह पूछताछ की कि जब एप्लिकेशन मौजूदा ऐप पर कॉल करने के लिए लोड हो जाता है। दूसरा विचार संवाद का उदाहरण बनाने के लिए WinProc और PInvoke को WM_COMMAND ओवरलोड करना था। डब्ल्यूसीएफ हमारे लिए एक नामित पाइप तैयार करेगा। कम से कम यही है जो वहां फेंक दिया गया था। – blu
ठीक है, आप जानना चाहते हैं कि जब आप दूसरा उदाहरण चलाने की कोशिश करते हैं तो एक नई विंडो बनाने के लिए एप्लिकेशन के पहले से चल रहे उदाहरण को कैसे बताना है? एक विंडो संदेश ठीक काम करेगा, लेकिन इंटरफ़ेस, पैरामीटर, कॉन्फ़िगरेशन के लिए डब्ल्यूसीएफ अधिक बहुमुखी होगा, और मुझे लगता है कि यह क्लीनर होगा। – mlessard