पर बाइंड डब्ल्यूसीएफ webservice कई नेटवर्क कार्ड वाले मशीन पर मुझे एक विशिष्ट नेटवर्क इंटरफ़ेस में डब्ल्यूसीएफ webservice को बांधने की आवश्यकता है। ऐसा लगता है कि डिफ़ॉल्ट सभी नेटवर्क इंटरफेस पर बांधना है।विशिष्ट नेटवर्क इंटरफ़ेस/आईपी
मशीन में आईपी 192.168.0.10
और 192.168.0.11
के साथ दो नेटवर्क एडाप्टर हैं। मैं एक अपाचे चल रहा है कि 192.168.0.
10
:80
पर बांधता है और 192.168.0.
11
:80
पर वेब सेवा को चलाने के लिए की जरूरत है। (बाह्य परिस्थितियों के कारण मैं एक बंदरगाह का चयन नहीं कर सकते हैं।)
मैं निम्नलिखित की कोशिश की:
string endpoint = "http://192.168.0.11:80/SOAP";
ServiceHost = new ServiceHost(typeof(TService), new Uri(endpoint));
ServiceHost.AddServiceEndpoint(typeof(TContract), Binding, "");
// or: ServiceHost.AddServiceEndpoint(typeof(TContract), Binding, endpoint);
लेकिन यह काम नहीं करता है; netstat -ano -p tcp
हमेशा 0.0.0.0:80
पर webservice सुन रहा है, जो सभी इंटरफेस है (अगर मुझे यह सही मिला)। जब मैं अपाचे को पहली बार शुरू करता हूं, तो यह सही ढंग से अन्य इंटरफेस से जुड़ा होता है, जो बदले में डब्ल्यूसीएफ सेवा को "सब" से बांधने से रोकता है।
कोई विचार?
यह सही दिशा में एक कदम की तरह दिखता है! यह * ट्रांसपोर्ट बाइंडिंग में है। इसे सटीक रूप से सेट करने से यह दिए गए आईपी (जो इससे पहले नहीं था) से जुड़ा हुआ है, लेकिन दुर्भाग्य से इसे 0.0.0.0 पर बाध्यकारी से भी रोका नहीं जाता है। (हालांकि यह मेरे लिए एक और त्रुटि की तरह दिखता है।) अगर मैं आपके लिए चाल करता हूं तो मैं उत्सुक हूं! – sunside
अजीब, तो अब आप इसे विशिष्ट और सामान्य आईपी दोनों पर बंधे हुए देख रहे हैं ...? हमारे पास सर्वर 2003 और 2008 दोनों हैं, और मुझे दोनों पर यह कोशिश करने के लिए मेरा sysadmin मिल जाएगा, इसलिए हम देखेंगे कि हम इसे हल कर सकते हैं या नहीं। वे वास्तव में बंदरगाह बाध्यकारी के बजाय आईपी बाध्यकारी का उपयोग करना चाहते हैं, और मैं उन्हें दोष नहीं दे सकता। वास्तव में –
। हो सकता है कि यह केवल "किसी भी" से बंधे क्योंकि यह कर सकता है, अभी तक इसकी जांच नहीं की है। – sunside