В предыдущих версиях ASP.NET многие из нас использовали Web.Debug.config
/Web.Release.config
файлы trasformations, что будет выглядеть примерно так:Как обрабатывать отладки/релиз конфигурации преобразования в 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>
В соответствии с ASP.NET vNext tutorial вы все еще можете использовать Web.config. Но config.json
, кажется, новый способ обработки конфигурации теперь, как в той же статье:
config.json
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\\..."
}
}
}
И Startup.cs:
var configuration = new Configuration();
configuration.AddJsonFile("config.json");
configuration.AddEnvironmentVariables();
Так Мне интересно, что будет предлагаемым способом обработки config-transofrmation с этим переходом на json?
порядка приоритет заключается в том, что «последний выигрывает», поэтому при таком подходе вы говорите «по умолчанию значения в' default.json', переопределяете это с помощью чего-либо, найденного в переменных среды, и переопределяете это с помощью чего-либо в {envSpecificJson}. " Рекомендуемый подход состоит в том, чтобы переменные среды переопределяли любые значения конфигурации на основе файлов. Шаблон по умолчанию теперь использует: .AddJsonFile («appsettings.json», необязательный: true, reloadOnChange: true) .AddJsonFile ($ «appsettings. {Env.EnvironmentName} .json», необязательный: true, reloadOnChange: true) .AddEnvironmentVariables(); –