Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 Site
op . 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/MyApp
op .
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>