Я хотел бы иметь возможность использовать appsettings. json, appsettings.Testing. json, чтобы получить соответствующую строку подключения для моего приложения для блейзера. На сервере тестирования я установил системную переменную «ASPNETCORE_ENVIRONMENT» на «Тестирование», и у меня есть appsettings.Testing. json со строкой подключения. По какой-то причине при доступе к приложению через браузер строка подключения извлекается из appsettings. json, а не appsettings.Testing. json.
Если я изменяю / переопределяю переменную среды из launchSettings. json в моей локальной среде и запустите приложение из IIS express, оно подберет правильную строку подключения. Что мне нужно сделать в файле startup.cs?
Вот мой файл Startup.cs
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
Вот мой appsettings.Testing. json:
{
"_comment": "Environment settings for testing environment",
"ConnectionStrings": {
"DBConnectionString": "Server=TEST-SERVER102;Database=Customers;Trusted_Connection=True;"
}
}
ОБНОВЛЕНИЕ: Если вы зарегистрировали текущую среду, используя следующий код:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
Debug.WriteLine("[Current Environment]" + env.EnvironmentName);
Я вижу ниже заявление журнала: [Среда] Производство
Я прочитал в документации Microsoft, что если среда не установлена, по умолчанию используется Продукция. Я установил для среды «Тестирование» через системную переменную. Чего мне не хватает?