Я устраняю проблему, когда служебная зависимость создается в Program.cs и передается в класс обслуживания. (для большего контекста это служба без сохранения состояния, но мой вопрос относится к обоим). Этот метод RunAsync служб использует предоставленный CancellationToken, чтобы определить, работает ли служба по-прежнему. Если токен отменяется, он вызывает dispose для зависимости. Симптом, который я диагностирую, заключается в том, что при запуске иногда зависимость не инициализируется. Я почти уверен, что где-то читал в документации, что хост-процесс в некоторых сценариях может быть повторно использован и не разрушен при разрушении экземпляра службы, но я не могу найти его сейчас.
Хост обрабатывает и переустанавливает новые экземпляры службы в Service Fabric?