.NET Core 2.1 + Идентичность как UI + служба Windows - как установить порт? - PullRequest
0 голосов
/ 29 мая 2018

Предыстория: немного поиграв, мне удалось настроить .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?

Спасибо!

1 Ответ

0 голосов
/ 29 мая 2018

launchSettings.json используется только для параметров разработки, интерпретируемых dotnet run или Visual Studio.

В производстве вы можете установить переменную среды ASPNETCORE_URLS или запустить с помощью MyProj.exe --urls "http://localhost:5020;https://localhost:5021".

Кроме того, вы также можете позвонить .UseUrls("…") на веб-хостера:

WebHost.CreateDefaultBuilder(args)
            .UseUrls("…")
            .UseStartup<Startup>()
...