हाय सब, मुझे एएसपी.NET अनुप्रयोगों का परीक्षण करते समय एक विसंगति मिली है स्थानीय रूप से विजुअल स्टूडियो 2008 (कैसिनी) के साथ अंतर्निर्मित वेब सर्वर पर।अनुरोध ["होस्ट"] == "dev.testhost.com:1234" क्यों है जबकि Request.Url.Host == "localhost"
मैं अपने स्थानीय मशीन dev.testhost.com127.0.0.1 के साथ जोड़ पर एक मेजबान को सेट कर लेने के बाद से मैं एक आवेदन मेजबान कहा करते थे हैडर के आधार पर अपनी उपस्थिति को बदलने की जरूरत है यह।
हालांकि, जब मैं http://dev.testhost.com:1234/index.aspx
का उपयोग करके अपने परीक्षण अनुप्रयोग का अनुरोध करता हूं, तो Request.Url.Host
का मान हमेशा "localhost"
होता है। जबकि Request.Headers["host"]
का मान "dev.testhost.com:1234"
है (जैसा कि मैं उन्हें दोनों होने की अपेक्षा करता हूं)।
मैं नहीं चिंतित हैं कि दूसरा मान पोर्ट संख्या, शामिल कर रहा हूँ, लेकिन मैं क्यों मेजबान के नाम पूरी तरह से अलग हैं के रूप में शक्तिशाली उलझन में हूँ! क्या किसी को पता है कि यह एक ज्ञात मुद्दा है, या डिजाइन द्वारा? या मैं मूर्ख हूँ ?!
मैं नहीं बल्कि,
- संभवतः भ्रम पैदा के कारण निकाल दिया! - सैमRequest.Url.Host
का उपयोग करेंगे कि कब से परीक्षण पोर्ट संख्या को निकाल देते हैं के लिए होने से बचा जाता है ...
एमएसडीएन दस्तावेज से यह अनुरोध की तरह दिखता है। यूआरएल को सर्वर पर भेजे गए अनुरोध से संबंधित होना चाहिए। Http://msdn.microsoft.com/en-us/library/system.web.httprequest.aspx से उद्धरण ... > ** HttpRequest क्लास ** > द्वारा भेजे गए HTTP मानों को पढ़ने के लिए ASP.NET सक्षम करता है एक वेब अनुरोध के दौरान एक ग्राहक। कैसीनी में चलते समय ऐसा नहीं लगता है ... अभी तक उत्तर के लिए धन्यवाद, लेकिन मुझे सच में विश्वास नहीं है कि मेजबान नाम के अनुरोध के लिए अलग-अलग रिपोर्ट की कोई अच्छी वजह नहीं है ऑब्जेक्ट ... –