/ / आईआईएस मेरे एएसपीनेट वेबफॉर्म एप्लिकेशन पर पतली हवा से एक वेब पेज को कैसे खींच सकता है? - एएसपीनेट, आईआईएस, वेबफॉर्म

आईआईएस मेरे एएसपीनेट वेबफॉर्म एप्लिकेशन पर पतली हवा से एक वेब पेज को कैसे खींच सकता है? - एएसपीनेट, आईआईएस, वेबफॉर्म

मुझे एक विरासत एएसपीनेट वेबफॉर्म एप्लिकेशन का समर्थन करने के लिए अनुबंधित किया गया है। यह एक वाणिज्यिक वेबसाइट है, और यह काफी पुरानी है।

कल, मुझे एक परेशानी-टिकट मिला जो वेब अनुप्रयोगों के बारे में मुझे जो कुछ भी पता है उसे अस्वीकार कर रहा था।

परेशानी टिकट ने संकेत दिया कि एक निश्चित यूआरएलकभी-कभी एक HTTP 404 त्रुटि लौटा दी। जमाकर्ता यह भी कसम खाता है कि समस्या तब होती है जब क्रोम के साथ साइट ब्राउज़ करते हैं। वेब एप्लिकेशन अंग्रेजी और फ्रेंच में उपलब्ध है, लेकिन परेशानी-टिकट कहता है कि समस्या केवल वेब एप्लिकेशन के फ्रेंच संस्करण पर होती है।

यूआरएल इस तरह दिखता है:

http://www.example.com/promotion/mg_547/SpecialOffer.search

मैंने अपने विकास पर्यावरण में पृष्ठ पर नेविगेट करने की कोशिश की: http://www.example.dev/promotion/mg_547/SpecialOffer.search। यह ठीक काम करने लग रहा था।

हालांकि इन यूआरएल काल्पनिक है, "mg_547" यूआरएल में एक वास्तविक निर्देशिका नाम है।

मैंने विंडोज एक्सप्लोरर में फाइल पर नेविगेट करने का फैसला किया है कि फ़ाइल के बारे में कुछ असामान्य है या नहीं। वह चीजें जब असली हो गईं।

जब मैं "पदोन्नति" निर्देशिका में नेविगेट किया, तो मैंपाया कि कोई "mg_547" निर्देशिका नहीं है (और इसके अलावा, इस तरह के नाम का क्या अर्थ हो सकता है?)। मेरी समझ यह है कि एक एएसपीनेट वेबफॉर्म एप्लिकेशन में, भौतिक डिस्क पर फ़ाइलों के अनुरूप यूआरएल, लेकिन यहां, फ़ाइल नहीं है; कोई निर्देशिका नहीं है!

मैंने जांच की है कि IIS में "t an" mg_547 "वर्चुअल निर्देशिका नहीं है।

मैंने ध्यान से जांच की कि "एमवीसी" नहीं हैएप्लिकेशन में कहीं भी छिपाने वाला नियंत्रक और मैंने यह देखने के लिए global.asax.cs फ़ाइल की समीक्षा की कि क्या कुछ असामान्य रूटिंग सेट हो सकता है। मैं कुछ भी नहीं ढूंढ सकता जो मुझे बताएगा कि मैं क्या देख रहा हूं।

मैंने फैसला किया कि पृष्ठ का पाठ प्रकट होना चाहिएमेरे कोड बेस में कहीं भी, इसलिए मैंने पृष्ठ से कुछ टेक्स्ट चुना है (यह सुनिश्चित कर रहा है कि इसमें HTML-एन्कोडिंग नहीं है) और कोड-बेस में टेक्स्ट की खोज की, कोई मिलान नहीं!

इसलिए, जहां तक ​​मैं कह सकता हूं, ऐसा लगता है जैसे आईआईएस सर्वर सिर्फ इस पृष्ठ को सैतानिक ब्लैक मैजिक के साथ बना रहा है!

उत्तर:

जवाब के लिए 0 № 1

मेरा मानना ​​है कि मुझे जवाब मिला है। @ एडीएसएफ की टिप्पणी बहुत उपयोगी थी।

एक नेट क्लास कहा जाता है PageHandlerFactory जो वेब अनुप्रयोग में अतिरंजित है। विशेष रूप से, यह वर्ग ओवरराइड करता है PageHandlerFactory.GetHandler तरीका। mg_547 निर्देशिका नाम इस ओवरराइड विधि में पार्स किया गया है और यूआरएल को डिस्क पर एक अलग फ़ाइल में मैप करता है।

मूल मुसीबत-टिकट के लिए जो इस सब से शुरू हुआ, शायद इस विधि में एक बग हो सकती है जो 404 त्रुटि का कारण बनती है।

जैसा कि मैंने उम्मीद की थी। यह एएसपीनेट I का एक कोने है जिसे मैं अभी तक परिचित नहीं हूं।