दो सिग्नलआर कोर हब के बीच संचार

Aug 17 2020

मेरे पास अपने स्वयं के सिग्नलआर कोर C # हब (C & D) के साथ दो सिग्नलआर कोर टाइपस्क्रिप्ट ऐप्स (ए एंड बी) हैं।

नहीं, मैं A से B. में कुछ ट्रिगर करना चाहता हूँ। मेरी योजना A से C तक ट्रिगर संदेश भेजने की थी, फिर C इसे D पर पुनर्निर्देशित करता है और B को भेजता है। इसे दूसरी दिशा में भी संभव होना चाहिए।

हब एक-दूसरे से स्वतंत्र हैं, इसलिए एक हब मेरे लिए दूसरे काम के हिस्से का हिस्सा नहीं है। एकमात्र समाधान जो मैं लेकर आया हूं, वह दो सिग्नलआर कोर सी # ग्राहकों का उपयोग करके हब के बीच संवाद करने के लिए है, लेकिन यह एक बड़े सिर की तरह लगता है। या यह जाने का रास्ता है?

जवाब

1 FeiHan Aug 20 2020 at 15:06

मेरे पास अपने स्वयं के सिग्नलआर कोर C # हब (C & D) के साथ दो सिग्नलआर कोर टाइपस्क्रिप्ट ऐप्स (ए एंड बी) हैं।

नहीं, मैं A से B में कुछ ट्रिगर करना चाहता हूं।

उपरोक्त आवश्यकता को प्राप्त करने के लिए आप निम्नलिखित संभावित दृष्टिकोणों का उल्लेख कर सकते हैं।

दृष्टिकोण 1: अपने कार्यान्वयन को संशोधित करें और एकल हब क्लास में मौजूदा कार्यक्षमता को मर्ज करें, फिर आप सिग्नलआर टाइपस्क्रिप्ट क्लाइंट ऐप (ए एंड बी) को एक ही हब सर्वर से कनेक्ट कर सकते हैं और एक दूसरे के साथ संवाद कर सकते हैं।

दृष्टिकोण 2: प्रत्येक ग्राहक उपयोगकर्ता के लिए सिग्नलआर टाइपस्क्रिप्ट क्लाइंट ऐप (ए एंड बी) पर हब सी और हब डी दोनों के लिए कनेक्शन स्थापित करें, ताकि टाइपस्क्रिप्ट क्लाइंट ऐप ए का उपयोग करने वाला उपयोगकर्ता टाइपस्क्रिप्ट क्लाइंट ऐप बी से उपयोगकर्ताओं के साथ संवाद भी कर सके।

दृष्टिकोण 3: जैसा कि आपने उल्लेख किया है, Microsoft.AspNetCore.SignalR.Client पैकेज स्थापित करें और हब सर्वर प्रोजेक्ट (A & B) पर सिग्नलआर .NET .NET क्लाइंट तर्क को लागू करें, जो उन्हें सर्वर और सिग्नलआर .NET क्लाइंट दोनों के रूप में कार्य करेगा।

दृष्टिकोण 4: जैसा कि @ Kiril1512 ने उल्लेख किया है, एक अलग प्रोजेक्ट में सिग्नलआर .नेट क्लाइंट तर्क को लागू कर सकता है जो कतार-आधारित (या सर्विसबस-आधारित आदि) नौकरी हो सकती है। यदि सिग्नलआर टाइपस्क्रिप्ट क्लाइंट ऐप का उपयोगकर्ता ए सिग्नल सिग्नल टाइपस्क्रिप्ट क्लाइंट ऐप बी से उपयोगकर्ताओं को एच डी डी से कनेक्ट करना चाहता है, तो वह हब सी को एक नया कतार संदेश जोड़ने के लिए विशिष्ट संदेश भेज सकता है, फिर यह हब के हब की विधि को लागू करने के लिए उस नौकरी को ट्रिगर करेगा हब सर्वर D, नीचे की तरह, सिग्नलआर टाइपस्क्रिप्ट क्लाइंट ऐप B से विशिष्ट उपयोगकर्ताओं को संदेश (संदेश) भेजने के लिए।

2 Kiril1512 Aug 18 2020 at 05:41

सबसे पहले, यह एक राय सवाल है इसलिए इसे शायद बंद कर दिया जाएगा।

But I believe the better approach is using something like Service Busand implement event based communication. So something happens at A and you invoke hub method at C, then send a event to D and it will trigger via signalR the A. Using event bus will add the option to add for example another hub (E) that could receive those events and do something else.