के बाहर कैसे मैं हब के बाहर ग्राहकों connectionId/clientid मिलता है .. मैं निम्न कार्य करने में कामयाब रहे clientId
जैसी चीज।प्राप्त connectionId हब, SignalR
उत्तर
आप हब पर आईकनेक्टेड/आईडीआईकनेक्ट को कार्यान्वित कर सकते हैं और मैन्युअल रूप से डेटाबेस में उदाहरण के लिए क्लाइंट का ट्रैक रख सकते हैं, फिर आवश्यक होने पर सूची को वापस खींचें। नीचे दिए गए उदाहरण क्यों दिया गया कनेक्शन वैश्विक संदर्भ पर ईद होगा SignalR Wiki
public class Status : Hub, IDisconnect, IConnected
{
public Task Disconnect()
{
return Clients.leave(Context.ConnectionId, DateTime.Now.ToString());
}
public Task Connect()
{
return Clients.joined(Context.ConnectionId, DateTime.Now.ToString());
}
public Task Reconnect(IEnumerable<string> groups)
{
return Clients.rejoined(Context.ConnectionId, DateTime.Now.ToString());
}
}
से है? इसके संदर्भ में कौन सा कनेक्शन होगा? जब आप वैश्विक संदर्भ प्राप्त करते हैं, तो आप सर्वर से क्लाइंट तक एक तरफ से चैनल तक पहुंच रहे हैं और इस पर संदेश भेज सकते हैं। आपके पास हब के कनेक्शन आईडी तक पहुंच नहीं है क्योंकि आप इसमें कॉल नहीं कर रहे हैं। यदि आप उन्हें उपयोग करने की ज़रूरत है तो आप उन्हें अपने आवेदन में कहीं भी स्टोर कर सकते हैं।
यहां समाधान है। आप hub
के अंदर एक विधि का आह्वान कर सकते हैं और आप वहां से connection ID
वापस कर सकते हैं।
हब में
public string GetConnectionID()
{
return "Your Connection ID as String" //This can be stored in a list or retrieved in any other method
}
नियंत्रक
var context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
MyHub _connectedHub= new MyHub();
var connectedUserID = _connectedHub.GetConnectionID();
में आप connectedUserID
चर में केंद्र के बाहर आईडी की आवश्यकता कर देंगे। आशा है कि यह मदद करता है।
- 1. श्रोताओं, SignalR हब से जुड़े ग्राहकों की संख्या प्राप्त
- 2. SignalR: कैसे प्रमाणीकरण लागू/समाप्त हब कनेक्शन सर्वर साइड
- 3. SignalR कनेक्ट/डिस्कनेक्ट हब ऊपर चल रही है
- 4. SignalR
- 5. SignalR
- 6. SignalR gzip संपीड़न
- 7. SignalR - हैंडलिंग कट उपयोगकर्ताओं
- 8. सिग्नलआर हब
- 9. SignalR एक कार्रवाई विधि के माध्यम से एक हब के लिए एक संदेश पोस्ट करने
- 10. SignalR रूपों
- 11. SignalR MethodAccessException
- 12. SignalR ASPNetHost वर्तमान संदर्भ
- 13. SignalR एकल प्रमाणित उपयोगकर्ता
- 14. SignalR और AspNetHost.DependencyResolver
- 15. ASP.NET MVC - SignalR
- 16. SignalR OnConnected(), OnDisconnected() अधिलेखन
- 17. SignalR जावास्क्रिप्ट कॉलबैक
- 18. सामग्री प्रकार हब
- 19. सिग्नलआर हब स्केलेबिलिटी इश्यू
- 20. विंडोज 8 मैसेजिंग हब
- 21. अर्थपूर्ण स्टोर और इकाई हब
- 22. SignalR बीच नेट क्लाइंट और सर्वर
- 23. सिग्नलर (हब) सिग्नल निर्माता को छोड़कर एक संदेश भेज सकता है?
- 24. सर्विसस्टैक प्रमाणीकरण प्लगइन का उपयोग कर सिग्नलआर हब प्रमाणीकरण
- 25. SignalR नेट ग्राहक: शुरू नहीं कर सकते वेब अनुप्रयोग के भीतर से कनेक्शन अनुप्रयोग डोमेन
- 26. हब टाइल्स एनीमेशन "सेमी विस्तारित" टूटा
- 27. आपकी वेबसाइट पर एकाधिक सिग्नलआर कनेक्शन/हब
- 28. सिग्नलआर बाधित होता है जबकि पेज
- 29. स्वयं-होस्ट किए गए सिग्नलआर हब में क्लाइंट आईपी पता प्राप्त करें
- 30. सिग्नल हब समूह में कनेक्शन की संख्या पाने का कोई तरीका है?
हर कोई चैट सर्वर नहीं बनाता है। मुझे लगता है कि वर्तमान क्लाइंट द्वारा कनेक्शन कनेक्शन का उपयोग कैसे किया जाए, इसलिए उस उपयोगकर्ता/सत्र में एक संदेश भेजा जा सकता था। मैं खुद को सोच रहा हूं कि एक क्लाइंट से एमवीसी एक्शन में इसे कैसे करना है जहां मैं प्रगति संदेश भेजना चाहता हूं। उपयोगकर्ता नाम से कनेक्शन आईडी को कैशिंग करने के लिए कुछ तकनीकें हैं, लेकिन मैंने एक ही उपयोगकर्ता को कई कनेक्शन रखने की इजाजत देने के लिए सभ्य कुछ नहीं देखा है जो प्रायः वेब ऐप्स के मामले में होता है। इसके लिए विचार? धन्यवाद। – Dave
आप इसे क्लाइंट से अपनी एमवीसी कार्रवाई में भेजते हैं। यह $ .connection.hub.id के माध्यम से ग्राहक पर उपलब्ध है। – davidfowl