Я знаю, что службы Windows созданы, чтобы продолжать работать, но, к сожалению, мне нужно, чтобы мой сервис закрывался сам, я использую hostcontrol.stop (), чтобы остановить его.при отладке он останавливается без каких-либо исключений, но после установки, когда я запускаю свой сервис, он выполняет работу, которая должна быть выполнена, но когда заканчивается время, я получаю это сообщение об ошибке «некоторые сервисы останавливаются, если они не используются другими программами»Есть ли способ предотвратить появление этого сообщения?Это исключение или это касается всех служб Windows?
static void Main(string[] args)
{
try
{
HostFactory.Run(x =>
{
x.Service<ServicePrincipal>();
x.SetServiceName("myservice");
x.SetDisplayName("myservice");
x.SetDescription("myservice");
x.StartAutomatically();
x.RunAsLocalSystem();
});
}
catch (Exception e)
{
}
}
КЛАСС ОБСЛУЖИВАНИЯ:
public bool Start(HostControl hostControl)
{
controleurHoteServiceWindows = hostControl;
try
{
LOGGER.Warn("Démarrage du service");
Demarrer(); //my treatement
LOGGER.Warn("Fin de l'exécution du service.");
hostcontrol.stop()
}
catch (Exception e)
{
LOGGER.Error("Exception détectée lors du démarrage du service", e);
hostControl.Stop();
}
return true;
}
public bool Stop(HostControl hostControl)
{
try
{
LOGGER.Warn("Arrêt du service");
LOGGER.Warn("Service arrêté");
}
catch (Exception e)
{
LOGGER.Fatal("Exception détectée lors de l'arrêt du service", e);
}
return true;
}