मैं वर्तमान में सिग्नल (2.1) हब्स का उपयोग कर एक आवेदन विकसित कर रहा हूं।सिग्नलआर: सी # ग्राहकों में जीवित कनेक्शन का पता लगाने
मेरे पास 1 डब्ल्यूपीएफ क्लाइंट है और दूसरा डब्लूसीएफ क्लाइंट है। सब ठीक काम करता है कि वे संदेशों को पूरी तरह से पारित कर रहे हैं।
अब मुझे सामना करने वाली एकमात्र समस्या यह है कि मैंने देखा कि जब ऑटो-रीस्टार्ट, डब्ल्यूसीएफ सर्वर नीचे चला गया और कुछ अन्य कारणों से एप्लिकेशन बंद हो जाता है तो ऑनडिस्कनेक्टेड को निकाल दिया नहीं जाता है। टाइमआउट 30 सेकंड का डिफ़ॉल्ट है। 1 दिन बीत जाने के बाद भी इसे कभी नहीं कहा जाता है (मैंने कोशिश की)। हालांकि, टाइम क्लाइंट वेब क्लाइंट्स के लिए काम करता है।
यह केवल काम करता है जब मैं hub.connection.stop फोन()।
Ondisconnected विधि हालांकि बहुत अच्छी तरह से जब ग्राहक एक ब्राउज़र है काम करता है।
इस प्रकार, मैं पूछने के लिए सिग्नल आर हब पक्ष के लिए किसी भी तरह से है कि ग्राहक अभी भी जुड़ा हुआ है या पहले से ही (जैसे एक पिंग) की पढ़ाई छोड़ दी है की जाँच करने में सक्षम होना है कि क्या वहाँ चाहते हैं?
1) आपको .net सिग्नल क्लाइंट के लिए github पर एक बग फाइल करना चाहिए (या शायद वे एक बग है?)। 2) आप अपने स्वयं के पिंग तंत्र को आसानी से कार्यान्वित कर सकते हैं, ग्राहकों और हबों के बीच तंत्र भेजकर –
ठीक है, मैंने कहकर इस पाठ को पढ़ और नोटिस किया है "यदि आपके वेब सर्वर काम करना बंद कर देते हैं या एप्लिकेशन पुनरारंभ होता है, तो ऑनडिस्कनेक्टेड विधि को कॉल नहीं किया जाता है इसलिए, यह संभव है कि आपके डेटा भंडार में कनेक्शन आईडी के लिए रिकॉर्ड होंगे जो अब वैध नहीं हैं। " http://www.asp.net/signalr/overview/signalr-20/hubs-api/mapping-users-to-connections में। इस प्रकार, मुझे पता है कि वे इसके बारे में जानते हैं।लेकिन, मेरा सवाल यह है कि क्या सिग्नलआर हब के लिए कोई भी अंतर्निहित तरीका है, अगर मुझे हर दो सेकंड पिंग करने के बजाय कनेक्शन गिरा दिया गया है। – Kiong