Даже в самом пустом проекте 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 всегда пусты, так что видимо это другое место.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости