Мы можем только предполагать, что знаем, о чем на самом деле думали разработчики фреймворка. Первое, что приходит на ум, - это метод StopApplication. Это делает IHostedService удобным способом указать, что приложение должно остановиться. Либо из-за того, что все сделано (запуск приложения, опрос чего-либо, опрос результатов процесса, завершение и ожидание внешнего перезапуска по времени), либо из-за катастрофической ошибки c.
Я вижу, что три свойства вызвали OP может быть полезен в чрезвычайно сложном сценарии времени жизни ios, например, при взаимодействии IHostedServices. Согласно документации ApplicationStarted срабатывает, когда «хост приложения полностью запущен». Это «событие» может затем использоваться IHostedServices, чтобы знать, что другие службы доступны, и тогда «событие» ApplicationStopping будет указывать на то, что другие размещенные службы прекращают работу. Обратите внимание, что каждый IHostedService получает вызов StopAsyn c последовательно. Серийность означает, что одна служба может продолжать работать еще долго после завершения работы службы, от которой она зависит. То же самое «событие» в некоторых случаях может использоваться как подсказка IHostedService начать завершение работы, чтобы вызов StopAsyn c мог завершиться раньше и не повлиять на завершение работы хоста.
И да, для В простом случае нет необходимости вводить IHostedApplicationLifetime в IHostedService.