में कहीं और से सिग्नलआर हब क्लाइंट को कॉल करना मैंने सर्वर और क्लाइंट के बीच संवाद करने के लिए सिग्नलआर हब सेट अप किया है। हब सर्वर साइड कोड Hooking.cs नामक कक्षा में संग्रहीत किया जाता है। मैं चाहता हूं कि हुकिंग.cs में परिभाषित एक विधि को कॉल करने में सक्षम होना है ताकि मुझे किसी भी कनेक्टेड क्लाइंट को मेरे एप्लिकेशन में कहीं से भी संदेशों को प्रसारित करने की अनुमति मिल सके। ऐसा लगता है कि Hooking.cs का एक नया उदाहरण हर ग्राहक/सर्वर कॉल के लिए बनाई गई है, इसलिए मैं आशा व्यक्त की थी कि मैं विधि परीक्षा (साथ की तरहसिस्टम
var hooking = new Hooking();
hooking.Test();
कुछ का उपयोग करने में सक्षम होगा) Hooking.cs में परिभाषित किया गया इस तरह के
public static void Test() {
Clients.test()
}
के रूप में और एक ग्राहक के पक्ष जावास्क्रिप्ट
var hooking = $.connection.hooking;
hooking.test = function() { alert("test worked"); };
$.connection.hub.start()
दुर्भाग्य से ऐसा नहीं है कि के साथ सरल, क्योंकि ग्राहक स्थैतिक नहीं हैं, इसलिए स्थिर विधि से पहुंच योग्य नहीं है।
सिग्नलआर स्रोत कोड के माध्यम से देखकर मैं एक विधि में आया जो आशाजनक लग रहा था, Hubs.Invoke(string hubName, string method, params object[] args)
, इसलिए मुझे आशा है कि मैं Hubs.Invoke("Hooking", "Test")
जैसे कुछ उपयोग कर सकता हूं लेकिन मैं इसे काम नहीं कर सकता।
किसी भी मदद के इस के साथ बेहद सराहना की जाएगी
लेकिन शायद आप मेरी मदद कर सकते हैं;) किसी भी विचार से सभी अन्य ग्राहकों के लिए अपने प्रसारण संदेश में अपना जेएस कोड कैसे करें, न कि मूल कॉलर जिन्होंने संदेश जारी किया? :) – GONeale
दुर्भाग्य से मैं नहीं करता हूं। मैं क्लाइंट आईडी को प्रतिक्रिया के साथ वापस भेज रहा हूं, और प्रतिक्रिया के साथ क्लाइंट आईडी को वापस भेज रहा हूं, और आईडी के मैच –