Предыстория: немного поиграв, мне удалось настроить .NET Core 2.1 + Identity как службу UI + Windows (после этой статьи), например:
- install.NET Core 2.1 Preview 2 SDK
- установить Visual Studio 2017 Preview
dotnet добавить пакет Microsoft.AspNetCore.Hosting.WindowsServices --version 2.1.0-rc1-final
Новый проект -> «.NET Core» -> «Веб-приложение ASP.NET Core» -> ОК
выберите ASP.NET Core 2.1 (вверху) -> Веб-приложение
Снимите флажок «Настроить для HTTPS
« Изменить аутентификацию »->« Индивидуальные учетные записи пользователей »-> OK
В Program.cs:
Добавить using Microsoft.AspNetCore.Hosting.WindowsServices;
заменить
CreateWebHostBuilder(args).Build().Run();
на:
if (Debugger.IsAttached || args.Contains("--debug"))
{
CreateWebHostBuilder(args).Build().Run();
}
else
{
CreateWebHostBuilder(args).Build().RunAsService();
}
в Startup.cs:
примечание app.UseHttpsRedirection();
В файле launchSettings.json:
Заменить:
"MyProj": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
на:
"MyProj": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:44322;http://localhost:44322",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Production"
}
}
(думаю, это все)
Затем я перестраиваю решение и в каталоге проекта делаю:
dotnet publish -c Release --self-contained -r win-x64
Я получаю MyProj\bin\Release\netcoreapp2.1\win-x64\MyProj.exe
, который я устанавливаю как сервис и запускаю его
В Chrome I тогда:
http://localhost:5000/
- работает:)
http://localhost:44322/
- не работает: (
То есть настройки порта из launchSettings.json не применялись
Как получить услугу для прослушивания по http 44322?
Спасибо!