2013-11-15 7 views
5

से किसी अन्य प्रक्रिया विधि को रिमोट करने का तरीका कैसे है मेरे पास एक सी # ऐप है, मैं अपने ऐप से SendChatMessage (स्ट्रिंग संदेश, int userid) उदाहरण के लिए फ़ंक्शन नाम कॉल करना चाहता हूं। लेकिन यह फ़ंक्शन एक और चल रहे क्लाइंट/सर्वर आधारित है मेरे कंप्यूटर पर आवेदन। मैं रास्ता नहीं ढूंढ सका कि मैं यह कैसे कर सकता हूं।सी # एप्लिकेशन

मैं इसे प्रतिबिंब पुस्तकालय के साथ बनाने की कोशिश करता हूं लेकिन असफल रहा। उम्मीद है कि कोई इस बारे में मेरी मदद करेगा।

सहायता के लिए धन्यवाद।

+3

क्या आप अन्य प्रोग्राम में स्रोत कोड को नियंत्रित करते हैं, या आप प्रक्रिया में आदेशों को इंजेक्ट करना चाहते हैं? फिर आपको अन्य एप्लिकेशन पर "नियंत्रण" लेने के लिए डीएलएल-इंजेक्शन का उपयोग करना पड़ सकता है। – NoLifeKing

+0

क्या आपके पास अन्य ऐप है? क्या अन्य ऐप अन्य प्रक्रियाओं को तरीकों का आह्वान करने की अनुमति देने के लिए डिज़ाइन किया गया है? – Rob

+1

संभावित डुप्लिकेट [सी # का उपयोग किसी अन्य प्रक्रिया से फ़ंक्शन को कॉल करने के लिए] (http://stackoverflow.com/questions/15767482/using-c-sharp-to-call-a-function-from-another-process) –

उत्तर

12

Inter-process communication की दुनिया में आपका स्वागत है। ऐसा करने के लिए कई तरीके हैं, जैसे नामित पाइप, आरपीसी, साझा स्मृति, आदि

संक्षेप में, आपका प्रोग्राम एक प्रक्रिया के अंदर चल रहा है। दूसरा कार्यक्रम एक और प्रक्रिया के अंदर चल रहा है। ऐसा लगता है जैसे आपके पिता लड़के से अगले दरवाजे से कुछ पूछने की कोशिश कर रहे हैं। ये प्रक्रियाएं एक दूसरे के साथ संवाद कर सकती हैं और एक-दूसरे के तरीकों का आह्वान कर सकती हैं, या एक दूसरे के डेटा का उपयोग कर सकती हैं। लेकिन मनमाने ढंग से या पाठ्यक्रम नहीं। उन्हें संचार के लिए कुछ सामान्य मानक की आवश्यकता है।

इन सवालों पर एक नजर डालें:

What is the simplest method of inter-process communication between 2 C# processes?

What is the best choice for .NET inter-process communication?

What is the easiest way to do inter process communication in C#?

+1

उत्तर के लिए धन्यवाद लेकिन यह उत्तर सही है यदि मेरे पास अन्य प्रक्रिया प्रोग्राम कोड का नियंत्रण है। लेकिन मैं अन्य कार्यक्रम के स्रोत कोड को नियंत्रित करता हूं। –

0

आप लक्ष्य प्रक्रिया के भीतर कोड पर कोई नियंत्रण नहीं है, तो यह है कि आप की जरूरत है लगता है अपने कोड को इंजेक्ट करने के लिए डीएलएल-इंजेक्शन के माध्यमों का उपयोग करें।

यदि कॉलिंग प्रक्रिया को स्वीकृति या प्रतिक्रिया की आवश्यकता नहीं है; फिर विधि आवेषण कोड निष्पादित करने वाले कोड को इंजेक्शन दे सकता है, लेकिन यदि कोई प्रतिक्रिया आवश्यक है तो यह संभावना है कि आपको इंजेक्शन वाले कोड के भीतर इंटर-प्रोसेस संचार के कुछ रूपों को लागू करने की आवश्यकता होगी।

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