नेट एमवीसी वेब एप्लिकेशन होस्ट कर रहा हूं और मेरे पास दो अलग-अलग कॉन्फ़िगरेशन के साथ आईआईएस है।

कॉन्फ़िगरेशन 1: दो वेबसाइट कॉन्फ़िगर की गई हैं। दोनों एक ही एप्लिकेशन निर्देशिका की ओर इशारा करते हैं और HTTP के माध्यम से अलग-अलग बाइंडिंग हैं:

  • App1 बाइंडिंग *:8080
  • App2 बाइंडिंग *:8081

कॉन्फ़िगरेशन 2: सर्वर के पास दो अलग-अलग IP पते असाइन किए गए हैं। दो वेबसाइटों को कॉन्फ़िगर किया गया है। दोनों एक ही एप्लिकेशन निर्देशिका की ओर इशारा करते हैं और HTTP के माध्यम से अलग-अलग बाइंडिंग हैं:

  • App1 बाइंडिंग 10.0.0.1:80
  • App2 बाइंडिंग 10.0.0.2:80

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

0
mrsubwoof 4 सितंबर 2019, 02:22

1 उत्तर

सबसे बढ़िया उत्तर

जहाँ तक मुझे पता है, यदि आप C# http क्लाइंट का उपयोग करके सर्वर का IP प्राप्त करना चाहते हैं। मेरा सुझाव है कि आप नीचे दिए गए कोड का उपयोग करने पर विचार कर सकते हैं:

Request.ServerVariables["LOCAL_ADDR"];

MSFT docs:

सर्वर पता देता है जिस पर अनुरोध आया था। यह उन कंप्यूटरों पर महत्वपूर्ण है जहां कंप्यूटर से जुड़े कई आईपी पते हो सकते हैं, और आप यह पता लगाना चाहते हैं कि अनुरोध किस पते का उपयोग किया गया है।

1
Brando Zhang 4 सितंबर 2019, 02:21