Habr<p>Служба Windows на C# в .Net 9 (Telegram.Bot)</p><p>После перехода 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 и немного обсудим функционал самого Телебота.</p><p><a href="https://habr.com/ru/articles/863770/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/863770/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_windows" class="mention hashtag" rel="tag">#<span>служба_windows</span></a> <a href="https://zhub.link/tags/%D1%82%D0%B5%D0%BB%D0%B5%D0%B3%D1%80%D0%B0%D0%BC%D0%B1%D0%BE%D1%82" class="mention hashtag" rel="tag">#<span>телеграмбот</span></a> <a href="https://zhub.link/tags/eventlog" class="mention hashtag" rel="tag">#<span>eventlog</span></a> <a href="https://zhub.link/tags/net_core" class="mention hashtag" rel="tag">#<span>net_core</span></a> <a href="https://zhub.link/tags/net_9" class="mention hashtag" rel="tag">#<span>net_9</span></a></p>