Служба Windows на C# в .Net 9 (Telegram.Bot)
После перехода Microsoft с .NET Framework на .NET Core программирование на C# стало более увлекательным, хотя некоторые аспекты изменились. В частности, шаблон проекта Служба Windows (.NET Framework) создаёт класс, наследник от ServiceBase в пространстве имен System.ServiceProcess . Прогеру предлагается реализовать виртуальные методы базового класса OnStart и OnStop , которые задают действия, подлежащие выполнению при запуске (остановке) службы, что собственно и есть суть и назначение Службы Виндовз. Регистрация Службы в этом случае производится с помощью утилиты installUtil.exe , в .Net Core это делается утилитой SC.exe . Реализовать службу на .NET Core (в моем случае .NET 9) не сложнее, но по другому, шаблон проекта теперь называется Worker Service (Microsoft) , а рабочий класс наследуется от BackgroundService. В этой статье я подробно опишу процесс создания, публикации и регистрации Службы в .Net 9 на примере службы для Telegram-бота (сокращенно — Телебот). Почему бот? Во-первых, писать Телебота на C# — это действительно приятно. Во-вторых, чтобы обеспечить его круглосуточную доступность на сервере под управлением Windows, логично использовать именно Службу Windows , которая будет поддерживать его работу в фоновом режиме и запускаться может сама при перезагрузке сервера. В заключении рассмотрим как добавить логирование в стандартный виндовый EventLog и немного обсудим функционал самого Телебота.
https://habr.com/ru/articles/863770/
#служба_windows #телеграмбот #eventlog #net_core #net_9