/ / वेब सर्वर के लिए वर्चुअल डायरेक्टरी कैसे बनाएं? (ASP.NET) - asp.net, वेब

वेब सर्वर के लिए वर्चुअल डायरेक्टरी कैसे बनाएं? (ASP.NET) - asp.net, वेब

मुझे आशा है कि कोई मदद कर सकता है।

मैं निम्नलिखित निर्देशिकाओं के साथ एक साइट के लिए virtualDirectory बनाना पसंद करता हूं होस्ट / folder1 / folder2 / default.aspx वेब सर्वर पर।

IIS के साथ यह applicationHost.config फ़ाइल को संपादित करके आसानी से किया जा सकता है:

<application path="/">
<virtualDirectory path="/" physicalPath="%SystemDrive%inetpubwwwroot" />
</application>

.. लेकिन जब मैं एक ही तरीका आज़माता हूं और वेबसर्वर के रूट स्तर पर कॉन्फिगर फाइल अपलोड करता हूं और वर्चुअल पाथ टाइप करता हूं, तो मुझे 404b एरर मिलता है।

मैं हमेशा पूर्ण पथ टाइप नहीं करना चाहता, इसके बजाय फाइलों को उनकी वर्तमान निर्देशिका में रखते हुए होस्ट / default.aspx जैसा कुछ छोटा करना चाहता हूं।

यह वेब सर्वर के लिए कैसे किया जाता है?

आशा है कि मेरी समस्या समझ में आती है।

आपका बहुत बहुत धन्यवाद!

उत्तर:

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

आपको अपनी साइट के लिए पूर्ण जानकारी की आपूर्ति करने की आवश्यकता है। महत्वपूर्ण जानकारी पोर्ट नंबर, साइट का नाम और आईडी ही है (किसी भी डुप्लिकेट को हटा दें)। निम्नलिखित उदाहरण मैंने इसे क्रमशः "MySite", 2, 8080 के रूप में उल्लेख किया है।

            <sites>
<site name="MySite" id="2">
<application path="/">
<virtualDirectory path="/" physicalPath="%SystemDrive%inetpubwwwroot" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:8080:" />
</bindings>
</site>

<applicationDefaults applicationPool="DefaultAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

C # में भी किया जा सकता है

            using Microsoft.Web.Administration;

using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
ConfigurationElementCollection sitesCollection = sitesSection.GetCollection();

ConfigurationElement siteElement = sitesCollection.CreateElement("site");
siteElement["name"] = @"MySite";
siteElement["id"] = 2;
siteElement["serverAutoStart"] = true;

ConfigurationElementCollection bindingsCollection = siteElement.GetCollection("bindings");
ConfigurationElement bindingElement = bindingsCollection.CreateElement("binding");
bindingElement["protocol"] = @"http";
bindingElement["bindingInformation"] = @"*:8080:www.MySite.com";
bindingsCollection.Add(bindingElement);

ConfigurationElementCollection siteCollection = siteElement.GetCollection();
ConfigurationElement applicationElement = siteCollection.CreateElement("application");
applicationElement["path"] = @"/";
ConfigurationElementCollection applicationCollection = applicationElement.GetCollection();
ConfigurationElement virtualDirectoryElement = applicationCollection.CreateElement("virtualDirectory");
virtualDirectoryElement["path"] = @"/";
virtualDirectoryElement["physicalPath"] = @"C:Inetpubwwwroot";
applicationCollection.Add(virtualDirectoryElement);
siteCollection.Add(applicationElement);
sitesCollection.Add(siteElement);

serverManager.CommitChanges();
}

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

Im काफी निश्चित नहीं है कि आपका क्या हासिल करने की कोशिश कर रहा है, लेकिन आप Microsoft का उपयोग कर सकते हैं। कोड के माध्यम से IIS स्थापित करने के लिए अप्रत्यक्ष नामकरण।

Microsoft.ebeb.Administration नामस्थान