IHostedService действительно отличная вещь. Этого очень не хватало, когда писал некоторые приложения, которым нужно делать что-то в фоне. Конечно это не сложно реализовать самому, но с таким интерфейсом это выглядит как то более основательно.
Да ну. Совершенно интуитивно непонятный интерфейс!
Вот, допустим, сервис начала останавливаться (у него был вызван StopAsync), но потом остановка была отменена. В каком состоянии он должен после этого оказаться?
Stop/start вызывается когда стартует/останавливается хост. Впринципе это чего не было в asp.net из коробки ранее, все остальное как что шедулить и останавливать забота девелопера.
Таким, каким вы, как разработчик, его определите? Вся суть в том, что теперь вы можете написать сервис и он будет запускаться и останавливаться вместе с хостом, по мне так это очень простой интерфейс. Он делает маленькую, но приятную вещь. Мне кажется, что он делает использование сервисов, работающих в бекграунде элегантнее.
Повторю вопрос: как я должен его определить? Что вообще за токен отмены передается в метод Stop? При каких условиях хост может отменить остановку сервиса?
CancellationToken Indicates that the shutdown process should no longer be graceful.
Пока не закенцелишь остановку, процес должен происходить поетапно со всеми необходимыми ожиданиями, если закенцелить — все таски должны прерваться максимально быстро.
https://github.com/aspnet/home/releases в релизах ссылки на изменеия
Вот, допустим, сервис начала останавливаться (у него был вызван StopAsync), но потом остановка была отменена. В каком состоянии он должен после этого оказаться?
Stop/start вызывается когда стартует/останавливается хост. Впринципе это чего не было в asp.net из коробки ранее, все остальное как что шедулить и останавливать забота девелопера.
Пока не закенцелишь остановку, процес должен происходить поетапно со всеми необходимыми ожиданиями, если закенцелить — все таски должны прерваться максимально быстро.
ДАНУВСЕПОНЯТНОЖЕ
Автор, а для чего весь текст статьи в верхний регистр не запилил не кашерно как то выходит.