Nous avons écrit une application qui fonctionne comme un service Windows. Au sein du service, nous avons un minuteur qui se déclenche toutes les 15 secondes et se connecte à une source de données ODBC (par exemple MySql, SqlServer), traite les requêtes et se déconnecte. Nous supposons toujours que la connexion existe et nous utilisons la gestion des exceptions dans notre code lorsqu'elle ne peut pas être établie.
Lorsque la connexion à la base de données est sporadique (mauvaise connexion au réseau, ou simplement arrêt de la base de données), j'ai constaté que notre service est parfois désactivé par Windows à des moments arbitraires.
Ma question est donc la suivante : Windows dispose-t-il d'une sorte de mécanisme pour arrêter les services s'il détecte qu'ils font continuellement des requêtes qui échouent et qu'ils lancent des exceptions ? (dans notre cas, les tentatives infructueuses de connexion à la base de données). Presque comme s'il disait "Ok - tu as fait ces demandes toutes les 15 secondes et cela consomme des ressources ; je vais donc t'arrêter !
Notre service tente toujours d'établir une connexion, et s'il n'y parvient pas, nous disposons de l'option