In früheren Versionen von ASP.NET viele von uns verwendeten Web.Debug.config
/Web.Release.config
Dateien trasformations behandeln, die in etwa so aussehen würde:Wie debug/release Config Transformationen in ASP.NET vNext
Web.config:
<connectionStrings>
<add name="AppDB" connectionString="Data Source=(LocalDb)\\..." />
</connectionStrings>
Web.Release.config:
<connectionStrings>
<add name="AppDB" connectionString="Data Source=(ReleaseDb)\\..." xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
Gemäß ASP.NET vNext tutorial können Sie weiterhin Web.config verwenden. Aber config.json
erscheinen die neue Art und Weise sein Konfigurationen jetzt zu behandeln gemäß dem gleichen Artikel:
config.json
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\\..."
}
}
}
Und in Startup.cs:
var configuration = new Configuration();
configuration.AddJsonFile("config.json");
configuration.AddEnvironmentVariables();
So Ich frage mich, was wäre der vorgeschlagene Weg, um Konfigurations-Transfrmation mit diesem Wechsel zu Json zu behandeln?
Die Reihenfolge der Vorrang ist, dass "last in wins", also mit diesem Ansatz sagen Sie "Standard auf die Werte in' default.json', überschreiben Sie diese mit allem in Umgebungsvariablen gefunden, und überschreiben Sie diese mit irgendetwas in {envSpecificJson}. " Der empfohlene Ansatz besteht darin, dass Umgebungsvariablen alle dateibasierten Konfigurationswerte überschreiben. Die Standardvorlage verwendet jetzt: .AddJsonFile ("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile ($ "appsettings. {Env.EnvironmentName} .json", optional: true, reloadOnChange: true) .AddEnvironmentVariables(); –