पूरे इंटरनेट पर केवल जगह मैं एक स्पष्टीकरण मिल सकता है MSDN पर है:एप्लिकेशन रूट यूआरएल ओवरराइड वास्तव में क्या करता है?
आवेदन जड़ यूआरएल के लिए एक वैकल्पिक मार्ग निर्दिष्ट करता है। यदि वेब अनुप्रयोग रूट आपकी प्रोजेक्ट की जड़ नहीं है तो इस विकल्प का उपयोग करें।
here से मुझे समझ में आया कि "एप्लिकेशन रूट" वह पथ है जो ASP.NET में टिल्डे का उपयोग करते समय पुनर्प्राप्त होता है। तो मैं उम्मीद करता हूं कि यदि मैं प्रोजेक्ट के गुणों पर जाता हूं - वेब - "एप्लिकेशन रूट ओवरराइड करें" और एक और यूआरएल निर्दिष्ट करें तो टिल्ड उस यूआरएल पर मैप करेगा।
लेकिन ऐसा नहीं है। उदाहरण के लिए मेरा वेब वर्चुअल निर्देशिका पर है - http://localhost/WebApplication1
और "एप्लिकेशन रूट ओवरराइड करें" पर मैं http://localhost/WebApplication2
या http://localhost
या http://WebApplication2
निर्दिष्ट करने का प्रयास करता हूं (जो सभी मेरे स्थानीय आईआईएस पर मौजूद हैं)। अब जब मैं
Response.Redirect("~/test2/login");
मुझे उम्मीद है कि यह मुझे http://localhost/WebApplication2/test2/login
पर रीडायरेक्ट करेगी। लेकिन इसके बजाय यह मुझे http://localhost/WebApplication1/test2/login
पर रीडायरेक्ट करता है जैसे कि मैंने "एप्लिकेशन रूट" को ओवरराइड नहीं किया है।
तो यह सुविधा वास्तव में क्या करने का अनुमान लगाती है? या शायद यह काम नहीं कर रहा है क्योंकि मुझे कुछ याद आ रहा है और इसे ठीक से परिभाषित नहीं किया है?
अच्छा जवाब, मैं पूरी तरह से एक स्पष्टीकरण की तलाश में था और कहीं भी नहीं मिला! मुझे अभी भी समझ में नहीं आ रहा है कि इसकी आवश्यकता क्यों है, क्योंकि मैं केवल उस वेबसाइट पर आईआईएस पर बाध्यकारी जोड़ सकता हूं और "होस्ट नाम" 'www.myapp.com' में परिभाषित कर सकता हूं - ऐसा लगता है कि यह सटीक प्रभाव प्राप्त करेगा ? – BornToCode
यदि आप स्थानीय विकास के लिए IISExpress का उपयोग कर रहे हैं तो ऐसी कोई GUI नहीं है जिसे मैं इस तरह की चीजों को कॉन्फ़िगर करने के लिए देख सकता हूं। जहां तक मैं कह सकता हूं, आप बिल्ड कॉन्फ़िगरेशन में उस विकल्प का उपयोग कर सकते हैं या मैन्युअल रूप से IISExpress कॉन्फ़िगरेशन फ़ाइलों को संपादित कर सकते हैं। – IronSean