Как применяются настройки из launchSettings.json?

173
23 февраля 2019, 21:20

Даже в самом пустом проекте asp.net core 2.0/2.1 находится файл launchSettings.json:

{
  "iisSettings": {
    "windowsAuthentication": false, 
    "anonymousAuthentication": true, 
    "iisExpress": {
      "applicationUrl": "http://localhost:51699",
      "sslPort": 44375
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "WebApplication1": {
      "commandName": "Project",
      "launchBrowser": true,
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Я тут пытался детально разобраться в том, так как это достаточно путанно - даже без учёта переопределения UseUrls/Listen.

Запускаешь проект в режиме WebApplication - у тебя браузер открывает https://localhost:5001 - но при этом работает и http://localhost:5000

Запускаешь проект в IIS (Express) - у тебя работает либо https (если поставлена галка) либо http галка снята (что соответствует sslPort: 0 в конфиге), а одновременно http+https через CreateDefaultBuilder не получится.

Читал я исходники, читал комментарии к тому как создаётся дефолтный вебхост...

И вот что странно: нигде не упоминается этот файл, как будто он и не нужен нигде в исходном коде для определения параметров запуска - ну как будто это файл, который используется только студией для кнопок запуска приложения.

Так ли это или я что-то пропустил?

Текущее моё предположение примерно таково: настройки из этого файла переопределяют параметры окружения, которые передаются типа как string[] args в Main - и это работают эти настройки только при запуске через студию. При этом сами args всегда пусты, так что видимо это другое место.

READ ALSO
Запись строки в текстовый файт c#

Запись строки в текстовый файт c#

Читаю текст из файла, нужно его обработать вставить в другой файлFile

135
Like в DataTable

Like в DataTable

Поддерживает ли DataTable фильтрацию по LIKE с использованием []?

134
Применение Autofac в консольном приложении C# .NET

Применение Autofac в консольном приложении C# .NET

Решил пощупать на практике AutofacНо не хватает знаний для его применения

188