У меня есть .NET Window Service, который расширяет пользовательский базовый класс, он служит базой для многих Windows-сервисов, которые я написал до сих пор, теперь я хочу добавить несколько мониторов (hearbeat) в этот базовый класс, в инициализированный из базового класса я запускаю поток, который будет уведомлять базу данных и спать в течение 40 секунд, это не идеально, но до сих пор служит своей цели . Я зарегистрировал событие для AppDomain.CurrentDomain. DomainUnload , чтобы остановить потоки пульса, но когда я прекращаю службу Windows, обновления моей базы данных останавливаются, но журналы, которые я помещаю в событие, зарегистрированное в AppDomain.CurrentDomain. DomainUnload не отображаются в средстве просмотра событий, поэтому у меня нет четкого указания, запускается ли событие или нет.
Я не могу поместить свою инициализацию пульса в OnStart / OnStop моих базовых классов, поскольку потребуется перекомпилировать все мои службы Windows, чтобы все они вызывали base.OnStart / base.OnStop.
Любая идея, почему AppDomain.CurrentDomain. DomainUnload не запускается
пс.
Я также пытался использовать AppDomain.CurrentDomain. ProcessExit с тем же результатом, что и выше, без регистрации в EventViewer.