Blazor и appsettings.Testing. json - PullRequest
       33

Blazor и appsettings.Testing. json

0 голосов
/ 27 марта 2020

Я хотел бы иметь возможность использовать 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;"
  }
}

enter image description here

ОБНОВЛЕНИЕ: Если вы зарегистрировали текущую среду, используя следующий код:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            Debug.WriteLine("[Current Environment]" + env.EnvironmentName);

Я вижу ниже заявление журнала: [Среда] Производство

Я прочитал в документации Microsoft, что если среда не установлена, по умолчанию используется Продукция. Я установил для среды «Тестирование» через системную переменную. Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 28 марта 2020

Оказывается, что на моем тестовом сервере, где приложение размещено в IIS 10 в его собственном пуле приложений, я должен установить переменную среды ASPNETCORE_ENVIRONMENT через appcmd.exe.

appcmd.exe set config - section: system.applicationHost / applicationPools /+"[name='Contoso'].environmentVariables.[name='foo',value='bar '] "/ commit: apphost

0 голосов
/ 28 марта 2020

Перезапускали ли вы консоль после установки глобальной переменной среды (если вы не установили ее в текущем сеансе терминала)?

Убедитесь, что вы выполнили правила, указанные в ASP. NET Основные документы, связанные с вашей ОС: Установить среду .

...