Консольное приложение .Net core 2.0 в качестве службы Windows - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь настроить приложение .Net Core Console в качестве службы.Используя стандарт .Net, я обычно использую Topshelf, но, похоже, он не поддерживает .Net Core.

Поскольку Topshelf не является опцией, я могу запустить приложение .Net Core Console в качестве службы Windows.?

Я получил доступ https://github.com/PeterKottas/DotNetCore.WindowsService, это жизнеспособная замена для производственной среды?

Ответы [ 3 ]

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

Существует несколько вариантов:

  1. Используйте пакет обеспечения совместимости Windows , который возвращает ServiceBase и связанные API-интерфейсы в .NET Core, поэтому TopShelf может работатьиз коробки.(пакет находится в RC на момент написания, с запланированным стабильным выпуском примерно через неделю)

  2. TopShelf теперь поддерживает .NET Core на основе пакета совместимости/ Windows совместимость для новых версий .NET Core.

  3. https://github.com/PeterKottas/DotNetCore.WindowsService, похоже, работает для многих пользователей, поэтому я предлагаю попробовать.

  4. Библиотека в (3) является хорошим API для DasMulli.Win32.ServiceUtils , который я написал для нашей компании, чтобы иметь возможность развертывать автономные .NET Core Applications в работе.До сих пор у нас не было никаких проблем.

  5. Другие сервисные хосты, которые абстрагируют инфраструктуру сервисов Windows и запускают произвольные программы - такие как Non-Sucking Service Manager ,Обратите внимание, что это может не дать хороших способов изящно завершить работу в ответ на команду «Стоп».

0 голосов
/ 06 августа 2018

В ядре .net у вас нет возможности работать как Сервис.Однако, если вы контейнеризуете консольное приложение, вы можете развернуть контейнер в любом месте, и это все равно, что запускать в качестве службы.Начиная с .NET Core 2.1, вы можете использовать Host и HostBuilder для управления DI, ведением журнала, корректным завершением работы и т. Д. В консольном приложении.Посмотрите:

Услуги хостинга в консольном приложении .NET Core

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

В нашей компании мы используем Non-Sucking Service Manager , с которым до сих пор у меня не было проблем, возможно, вы захотите взглянуть.

...