Как дифференцировать базы данных в приложении ASP.Net Core 2.1 на основе среды? - PullRequest
0 голосов
/ 10 октября 2018

Я создаю это приложение ASP.Net Core MVC.Дело в том, что я хочу сохранить три разные среды для своих баз данных, такие как разработка, песочница и производство.Можно ли как-то упомянуть об этом в файле настроек моего приложения или мне нужно будет вручную указать в развертывании, как я это обычно делаю?Как и при развертывании автономного приложения на Elastic Beanstalk, и на данный момент я отредактировал файл appsettings.json с требуемой базой данных, но он похож на одну БД за раз.

"ConnectionStrings": {
"DefaultConnection": "Server = tcp:<Remote DB Server>,1433; Database = <DB>; User Id = <DB Username>; Password = <DB PASS>;"

TL:DR;Могу ли я иметь несколько строк подключения в соответствии с условиями в моем файле appsettings.json?

1 Ответ

0 голосов
/ 10 октября 2018

В соответствии с конфигурацией по среде в официальной документации у вас есть несколько вариантов:

Чтобы загрузить конфигурацию по среде, мы рекомендуем:

Первый вариант - это очень распространенное решение для конфигурации, зависящей от среды, и просто включает дополнительныеappsettings.json файлы, содержащие имя среды в имени файла.Шаблоны по умолчанию уже поставляются с файлом appsettings.Development.json, который загружается только для среды Development.Аналогично, вы можете создать appsettings.Sandbox.json и appsettings.Production.json файл, который загружается в среде Sandbox и Production соответственно.

Файлы конфигурации загружаются в дополнение к вобычный appsettings.json файл, так что вы можете использовать его, чтобы указать общие значения по умолчанию и перезаписывать только специфичные для среды вещи в специфичных для среды appsettings.<Environment>.json файлах.

Обратите внимание, что вы всегда должны стараться избегать помещения секретов производствав файлах, особенно тех, которые предназначены для контроля версий.Для них вы также можете использовать переменные окружения для перезаписи определенных значений.Например, переменная среды ConnectionStrings__DefaultConnection может содержать строку подключения для вашего приложения и будет перезаписывать то, что настроено в одном из файлов appsettings .

...