Delen via


Apps configureren met behulp van configuratiebestanden

.NET Framework biedt ontwikkelaars en beheerders controle en flexibiliteit over de manier waarop toepassingen worden uitgevoerd via configuratiebestanden. Configuratiebestanden zijn XML-bestanden die naar behoefte kunnen worden gewijzigd. Een beheerder kan bepalen welke beveiligde resources een toepassing kan openen, welke versies van assembly's een toepassing gaat gebruiken en waar externe toepassingen en objecten zich bevinden. Ontwikkelaars kunnen instellingen in configuratiebestanden plaatsen, waardoor het niet nodig is om een toepassing telkens opnieuw te compileren wanneer een instelling wordt gewijzigd. In deze sectie wordt beschreven wat er kan worden geconfigureerd en waarom het configureren van een toepassing nuttig kan zijn.

Notitie

Beheerde code kan de klassen in de System.Configuration naamruimte gebruiken om instellingen van de configuratiebestanden te lezen, maar niet om instellingen naar die bestanden te schrijven.

In dit artikel worden de syntaxis van configuratiebestanden beschreven en vindt u informatie over de drie typen configuratiebestanden: computer, toepassing en beveiliging.

Indeling van configuratiebestand

Configuratiebestanden bevatten elementen, die logische gegevensstructuren zijn die configuratiegegevens instellen. In een configuratiebestand gebruikt u tags om het begin en einde van een element te markeren. Het element bestaat bijvoorbeeld <runtime> uit <runtime>onderliggende elementen</runtime>. Een leeg element wordt geschreven als <runtime/> of <runtime></runtime>.

Net als bij alle XML-bestanden is de syntaxis in configuratiebestanden hoofdlettergevoelig.

U geeft configuratie-instellingen op met behulp van vooraf gedefinieerde kenmerken, die naam-waardeparen zijn binnen de starttag van een element. In het volgende voorbeeld worden twee kenmerken (version en href) voor het <codeBase> element opgegeven, waarmee wordt aangegeven waar de runtime een assembly kan vinden (zie Locatie van een assembly opgeven) voor meer informatie.

<codeBase version="2.0.0.0"  
          href="http://www.litwareinc.com/myAssembly.dll"/>  

Computerconfiguratiebestanden

Het computerconfiguratiebestand ,Machine.config, bevat instellingen die van toepassing zijn op een hele computer. Dit bestand bevindt zich in de map %runtime install path%\Config. Machine.config bevat configuratie-instellingen voor machinebrede assemblybinding, ingebouwde externe kanalen en ASP.NET.

Het configuratiesysteem zoekt eerst in het configuratiebestand van de machine naar het <element appSettings> en andere configuratiesecties die een ontwikkelaar kan definiëren. Vervolgens wordt in het configuratiebestand van de toepassing gezocht. Als u het computerconfiguratiebestand beheerbaar wilt houden, kunt u deze instellingen het beste in het configuratiebestand van de toepassing plaatsen. Door de instellingen in het computerconfiguratiebestand te plaatsen, kan uw systeem echter beter worden onderhouden. Als u bijvoorbeeld een onderdeel van derden hebt dat zowel uw client- als servertoepassing gebruikt, is het eenvoudiger om de instellingen voor dat onderdeel op één plaats te plaatsen. In dit geval is het configuratiebestand van de machine de juiste plaats voor de instellingen, zodat u niet dezelfde instellingen in twee verschillende bestanden hebt.

Notitie

Als u een toepassing implementeert met XCOPY, worden de instellingen in het computerconfiguratiebestand niet gekopieerd.

Voor meer informatie over hoe de algemene taalruntime het configuratiebestand voor assemblybinding gebruikt, raadpleegt u Hoe de runtime assembly's zoekt.

Toepassingsconfiguratiebestanden

Een toepassingsconfiguratiebestand bevat instellingen die specifiek zijn voor een app. Dit bestand bevat configuratie-instellingen die de algemene taalruntime leest (zoals assemblybindingsbeleid, externe objecten, enzovoort) en instellingen die de app kan lezen.

De naam en locatie van het toepassingsconfiguratiebestand zijn afhankelijk van de host van de app. Dit kan een van de volgende opties zijn:

  • Uitvoerbare, gehoste app.

    Deze apps hebben twee configuratiebestanden: een bronconfiguratiebestand, dat tijdens de ontwikkeling wordt gewijzigd door de ontwikkelaar en een uitvoerbestand dat wordt gedistribueerd met de app.

    Wanneer u in Visual Studio ontwikkelt, plaatst u het bronconfiguratiebestand voor uw app in de projectmap en stelt u de eigenschap Copy To Output Directory in op Altijd kopiëren of Kopiëren als nieuwer. De naam van het configuratiebestand is standaard App.config.

    Als u het uitvoerconfiguratiebestand wilt maken dat is geïmplementeerd met de app, kopieert Visual Studio het bronconfiguratiebestand naar de map waarin de gecompileerde assembly wordt geplaatst. Dit bestand heeft de naam <yourappname>.exe.config. Een app met de naam myApp.exe heeft bijvoorbeeld een uitvoerconfiguratiebestand met de naam myApp.exe.config.

    In sommige gevallen kan Visual Studio het uitvoerconfiguratiebestand wijzigen. Zie voor meer informatie de omleidingsassemblyversies op app-niveau van het artikel Omleidingsassemblyversies.

  • ASP.NET gehoste app.

    Zie ASP.NET Configuration Instellingen voor meer informatie over ASP.NET configuratiebestanden.

  • Internet Explorer-gehoste app.

    Als een app die wordt gehost in Internet Explorer een configuratiebestand heeft, wordt de locatie van dit bestand opgegeven in een <link> tag met de volgende syntaxis: <link rel="*ConfigurationFileName*" href="*location*">

    In deze tag location is een URL naar het configuratiebestand. Hiermee stelt u de app-basis in. Het configuratiebestand moet zich op dezelfde website bevinden als de app.

Beveiligingsconfiguratiebestanden

Beveiligingsconfiguratiebestanden bevatten informatie over de hiërarchie en machtigingensets van de codegroep die zijn gekoppeld aan een beleidsniveau. We raden u ten zeerste aan het hulpprogramma Code Access Security Policy (Caspol.exe) te gebruiken om beveiligingsbeleid te wijzigen om ervoor te zorgen dat beleidswijzigingen de beveiligingsconfiguratiebestanden niet beschadigen.

Notitie

Vanaf .NET Framework 4 zijn de beveiligingsconfiguratiebestanden alleen aanwezig als het beveiligingsbeleid is gewijzigd.

De beveiligingsconfiguratiebestanden bevinden zich op de volgende locaties:

  • Configuratiebestand voor ondernemingsbeleid: %runtime-install-path%\Config\Enterprisesec.config

  • Configuratiebestand voor computerbeleid: %runtime-install-path%\Config\Security.config

  • Configuratiebestand voor gebruikersbeleid: %USERPROFILE%\Toepassingsgegevens\Microsoft\CLR-beveiligingsconfiguratie\vxx.xx\Security.config

Zie ook