Delen via


Toepassings- en directoryspecifieke configuratie-instellingen maken in een ASP.NET-toepassing

In dit artikel wordt beschreven hoe u toepassingsspecifieke en directoryspecifieke configuratie-instellingen maakt in ASP.NET.

Oorspronkelijke productversie: ASP.NET
Oorspronkelijk KB-nummer: 815174

Samenvatting

Het web.config-bestand bevindt zich in de hoofdmap van een ASP.NET-toepassing. Het Web.config-bestand geeft configuratiegegevens op die specifiek zijn voor de toepassing. U kunt configuratie-instellingen ook per directory instellen. U kunt dit op twee manieren doen:

  • Distribueer meerdere Web.config-bestanden naar mappen in de toepassing. Voeg een Web.config-bestand toe aan de ASP.NET toepassingsmap met instellingen die instellingen overschrijven in een web.config-bestand op een hoger niveau of in het configuratiebestand van de systeemcomputer (Machine.config).

  • Voeg instellingen per map of per bestand rechtstreeks toe aan het web.config-bestand van de toepassing. Deze methode maakt gebruik van één Web.config-bestand om configuratie-instellingen per map in te schakelen. U kunt deze methode ook gebruiken in het bestand Machine.config om configuratie-instellingen af te dwingen op ASP.NET webtoepassingen en vervolgens te voorkomen dat Web.config-bestanden de instellingen van Machine.config overschrijven.

Het locatie-element in het bestand Machine.config gebruiken

Als u instellingen wilt opgeven die van toepassing zijn op een webtoepassing of map, kunt u het <location> element toevoegen aan het <configuration> element van een system Machine.config-bestand . Het is handig wanneer u configuratie-instellingen in één bestand centraliseert. Het is ook handig in webhostingomgevingen om specifieke configuratie-instellingen voor afzonderlijke webtoepassingen te verplichten.

Het <location> element bevat twee kenmerken en path allowOverride. Het path kenmerk definieert de site of virtuele map waarop de configuratie-instellingen betrekking hebben. Als u wilt opgeven dat de instellingen in het <location> element van toepassing zijn op de standaardwebsite, stelt u het path kenmerk in Default Web Siteop . Als u wilt opgeven dat de instellingen van toepassing zijn op de toepassing met de naam MyApp op de standaardwebsite, stelt u het path kenmerk in Default Web Site/MyAppop .

Wanneer het allowOverride kenmerk onwaar is, kunnen de Web.config-bestanden in de webtoepassingsmappen de instellingen die u in het <location> element hebt opgegeven, niet overschrijven. Het is een handige instelling in omgevingen waarin u toepassingsontwikkelaars moet beperken in de configuratie van een webtoepassing. In het volgende voorbeeld ziet u een deel van een Machine.config-bestand . Het bestand vereist verificatie voor toegang tot de MyApp-toepassing op de standaardwebsite en kan niet worden overschreven door instellingen in een Web.config-bestand .

<configuration>
    <location path="Default Web Site/MyApp" allowOverride="false">
        <system.web>
            <authorization>
                <allow users="?" />
            </authorization>
        </system.web>
    </location>
</configuration>

Het locatie-element in het Web.config-bestand gebruiken

Als u instellingen wilt opgeven die van toepassing zijn op een specifieke toepassing of map, voegt u het <location> element toe aan het <configuration> element van een application Web.config-bestand . Het <location> element bevat doorgaans een <system.web> element en andere configuratie-elementen precies zoals u deze gebruikt in het web.config-bestand . Het path kenmerk van het <location> element geeft de virtuele map of de bestandsnaam op waar de locatieconfiguratie-items van toepassing zijn. In het volgende voorbeeld ziet u een deel van een web.config-bestand van een toepassing waarin aangepaste foutberichten voor de virtuele map van het forum worden opgegeven.

<configuration>
    <location path="forum" >
        <system.web>
            <customErrors mode="RemoteOnly" defaultRedirect="forum-error.aspx">
                <error statusCode="404" redirect="forum-file-not-found.aspx" />
            </customErrors>
        </system.web>
    </location>
</configuration>

Verwijzingen