भी देखें How does a WCF server inform a WCF client about changes? (Better solution then simple polling, e.g. Coment or long polling)डब्ल्यूसीएफ फ़ायरवॉल के माध्यम से ग्राहक को धक्का?
मैं ग्राहक फायरवॉल के माध्यम से WCF के साथ धक्का-प्रौद्योगिकी का उपयोग करने की जरूरत है। यह एक आम समस्या होनी चाहिए, और मुझे लगता है कि यह सिद्धांत में काम करता है (नीचे दिए गए लिंक देखें), लेकिन मैं इसे काम करने में असफल रहा हूं, और मैं इसे प्रदर्शित करने वाला कोड नमूना नहीं ढूंढ पा रहा हूं।
आवश्यकताएँ:
- WCF TCP पोर्ट 80 (netTcpBinding) के माध्यम से
- ग्राहक सर्वर से कनेक्ट।
- सर्वर अनियमित अंतराल (1 मिनट से कई घंटे) पर वापस जानकारी धक्का देता है।
- उपयोगकर्ताओं को अपने फ़ायरवॉल को कॉन्फ़िगर नहीं करना चाहिए, सर्वर धक्का उन सभी फायरवॉल से गुज़रना होगा जिनमें सभी इनबाउंड बंदरगाह बंद हैं। इसके लिए उसी कनेक्शन पर टीसीपी डुप्लेक्स की आवश्यकता है, क्लाइंट फ़ायरवॉल पर बंदरगाह खोलने के बाद से दोहरी बाध्यकारी काम नहीं करती है।
- ग्राहक नियमित अंतराल पर सर्वर पर दिल की धड़कन भेजते हैं (शायद हर 15 मिनट) तो सर्वर जानता है कि क्लाइंट अभी भी जिंदा है।
- सर्वर WAS के साथ IIS7 है।
समाधान डुप्लेक्स netTcp बाइंडिंग प्रतीत होता है। इस जानकारी के आधार:
WCF through firewalls and NATs
Keeping connections open in IIS
लेकिन मैं अभी तक एक कोड नमूना है कि काम करता है खोजने के लिए .. मैं माइक्रोसॉफ्ट के WCF नमूने से "द्वैध" और "TcpActivation" नमूने के संयोजन की कोशिश की है बिना किसी किस्मत के। कृपया कोई मुझे उदाहरण कोड पर इंगित कर सकता है जो काम करता है, या एक छोटा सा नमूना ऐप बनाता है। आपका बहुत बहुत धन्यवाद!
आप अपवाद के किसी भी प्रकार का सामना कर रहे हैं? यह वास्तव में क्या काम नहीं कर रहा है? – jrista