में जेनेरिक हब का उपयोग कैसे करें मैं संस्करण 2.1.2 में सिग्नलआर का उपयोग कर रहा हूं। मैंने देखा है कि मेरे लिए उपयोग करने के लिए दो सार्वजनिक केंद्र कक्षाएं हैं, Hub
और Hub<T>
। पूर्व में एक एमएसडीएन पृष्ठ है जो पुराना प्रतीत होता है और बाद में किसी भी एमएसडीएन पृष्ठ की कमी नहीं होती है। मेरा मानना है कि एमएसडीएन दस्तावेज न्यूजेट (जो मैं उपयोग कर रहा हूं) से सिग्नलआर के नवीनतम संस्करण के साथ अद्यतित नहीं है, क्योंकि रीशेर्पर की मदद से विभाजित स्रोतों में से दोनों वर्ग HubBase
बेस क्लास से उत्तराधिकारी हैं। MSDN पृष्ठ की वंशानुगत पदानुक्रम अनुभाग Object
से इनहेरिट और IHub
और IDisposable
इंटरफेस, तथापि decompiled स्रोतों, ऊपर उल्लिखित HubBase
आधार वर्ग प्रकट IHub
इंटरफ़ेस है जो बदले में लागू करता IDisposable
को लागू करने को लागू करने के रूप में Hub
वर्ग को दर्शाता है।सिग्नल
कक्षाओं की गैर सामान्य और सामान्य संस्करण के बीच अंतर यह है कि गैर-सामान्य व्यक्ति की Clients
संपत्ति रिटर्न IHubCallerConnectionContext<dynamic>
जबकि सामान्य संस्करण रिटर्न IHubCallerConnectionContext<T>
टाइप किया था।
मैं अपने ग्राहकों को टाइप करना चाहता हूं, इसलिए जब मैं हब से क्लाइंट विधियों को कॉल करता हूं, तो मेरे पास उचित इंटेलिसेंस समर्थन और दृढ़ता से टाइप किए गए तर्क होंगे। हालांकि, मैं क्या संघर्ष करता हूं, यह है कि हब को यह कैसे पता चले कि मेरे क्लाइंट मॉडल की विधि वास्तव में ब्राउज़र में लागू की जा रही है।
यह मेरा TestModel
वर्ग है:
public sealed class TestModel
{
public String Name { get; set; }
public void Notify() {}
public void NotifyComplex(TestModel model) {}
}
गैर सामान्य हब के साथ
, मैं सिर्फ dynamic
ly this.Context.Clients.Client(…)
या this.Context.Caller
बाध्य पर .Notify()
या .Notify(new TestModel() { Name = "sth" })
फोन चाहते हैं, लेकिन सामान्य वर्ग के साथ, मैं जब फोन इन खाली विधियों को इसी तरह से, ब्राउजर को बिल्कुल अधिसूचित नहीं किया जाता है।
जेनेरिक हब क्लास का उपयोग किस तरह किया जाना चाहिए?
: http://stackoverflow.com/a/21763587/526704 – DLeh
मुझे डर है कि प्रश्न से संबंधित नहीं है कर रहा हूँ यहाँ कोड का एक टुकड़ा मैं के साथ इस परीक्षण किया है। मुझे सर्वर से क्लाइंट विधियों को कॉल करने में दिलचस्पी है, दूसरी तरफ नहीं, जो कि उस प्रश्न का ओपी क्या कर रहा है और जिस तरह से मैं आरपीसी का उपयोग कर कॉल करना चाहता हूं वह सामान्य नहीं है, हब है, हालांकि, और इसी तरह ग्राहकों। हालांकि, मैं टिप्पणी की सराहना करता हूं। –
मुझे यकीन नहीं था कि यह सहायक होगा या नहीं, लेकिन मैंने सोचा कि मैं जो मिला वह प्रदान करता हूं। क्षमा करें मेरे पास कोई अन्य उपयोगी अंतर्दृष्टि नहीं है :( – DLeh