2009-07-10 11 views
5

मैं डब्ल्यूसीएफ सेवा आवेदन से ग्राहक का पता कैसे प्राप्त कर सकता हूं? साथ ही, क्या कोई ईवेंट उठाया जाता है जब क्लाइंट कनेक्ट होता है, संभवतः पता जानकारी के साथ?मैं डब्ल्यूसीएफ सेवा आवेदन से ग्राहक का पता कैसे प्राप्त करूं?

उत्तर

7

3.0 में, यह काफी कठिन है; लेकिन 3.5 (read Detect Client IP in WCF 3.5) में सुधार हुआ था। हालांकि, मुझे किसी घटना की जानकारी नहीं है।

2

आप किस पते को ढूंढ रहे हैं? आईपी ​​पता?

यदि ऐसा है, तो मुझे उम्मीद है कि आप उस पर सीमाओं से अवगत हैं - यदि क्लाइंट किसी एनएटी डिवाइस या इंटरनेट प्रॉक्सी के दूसरी तरफ है तो यह सटीक नहीं होगा।

+0

निम्नलिखित मैं सीमाओं के बारे में पता नहीं था की तरह कुछ का उपयोग कर सकते हैं, लेकिन अपने आवेदन, NATs और प्रॉक्सी के लिए एक समस्या नहीं होगी। मैं एक आईपी पता या यहां तक ​​कि एक विंडोज पीसी नाम की उम्मीद कर रहा था। – MGSoto

+0

ठीक है, इसके बारे में सोचने के लिए केवल एक और चीज यह है: यदि नेटवर्क टोपोलॉजी बदलती है, तो क्या वे पहले आपसे परामर्श करेंगे, या "नेटवर्किंग" लोग मानेंगे कि वे "प्रोग्रामिंग" लोगों से अनुमति के बिना नेटवर्क को बदल सकते हैं? क्योंकि यह आमतौर पर काम करता है, और यह कैसे काम करने के लिए है। –

+0

यदि टोपोलॉजी बदलती है, तो यह एक कॉन्फ़िगरेशन फ़ाइल या दो को बदलने के समान सरल होना चाहिए, लेकिन अंत में, यह हमेशा स्थानीय नेटवर्क पर चल रहा है। – MGSoto

2

यदि सिस्टम.Web.HttpContext.Current.Request.UserHostAddress शून्य नहीं है, तो उसके पास दूरस्थ पता है। लेकिन यह प्रॉक्सी या लोड बैलेंसर हो सकता है (मेरे उत्पादन वातावरण में जो मामला है)।

1

डब्ल्यूसीएफ होस्ट सेवा अनुरोधकर्ता आईपी प्राप्त करने का एक तरीका प्रदान करता है तो यह आसान होगा - ताकि आप मूल अनुरोधकर्ता प्राप्त करने के लिए उस विधि को कॉल कर सकें।

0

आप OperationContext.Current.IncomingMessageHeaders.To.Host

संबंधित मुद्दे