Config kan hentes fra ulike kilder, og i en app med flere kilder hentes de ut i prioritert rekkefølge:
- Kommandolinje-argumenter
- Miljøvariable
- Filer (appsettings.json)
Man trenger ikke konfigurere noe ekstra kode for dette, dersom man bruker DefaultBuilder
-oppsettet.
Ønsker man å mappe seksjoner med konfigurasjon til typer, anbefales Microsoft.Extensions.Configuration.Binder
-pakken:
dotnet add package Microsoft.Extensions.Configuration.Binder
Denne lar deg mappe et json objekt:
{
"myStuff": {
"myString": "Hello World!",
"myInt": 42
}
}
evt miljøvariable:
MYSTUFF__MYSTRING=Hello World!
MYSTUFF__MYINT=42
til en type i kode:
record MyStuff(string MyString, int MyInt);
via
var builder = Host.CreateDefaultBuilder(args);
+ MyStuff myStuff = builder.Configuration.GetRequiredSection("myStuff").Get<MyStuff>();
+ builder.Services.AddSingleton(myStuff);
Note
Les mer om konfigurasjon på microsoft.com