Comment tuer son propre service Windows

Un service WCF est hébergé dans un service Windows (WS).

Lorsque la database (SqlServer 2005) tombe en panne une exception SqlException est levée en raison des actions effectuées sur la database.

Ce que je veux accomplir, c'est que le WS – où le service WCF est hébergé – devrait baisser quand la DB est également arrêtée.

Le WS sera redémarré manuellement en passant.

Mon idée est de ne rien faire à ce sujet. L'exception non gérée va arrêter le WS.

Est-ce la bonne façon de faire?

Si vous souhaitez arrêter explicitement votre service Windows, appelez simplement la méthode .Stop () sur votre class de service.

Les services Windows peuvent être configurés pour redémarrer automatiquement en cas d'erreur. Il suffit donc de laisser le stream SqlException vers le haut pour get ce que vous voulez.

Marc

Tout d'abord, vous devez détecter que SQL Server est tombé de l'exception SQLException que vous obtiendrez. Deuxièmement pourquoi tuer le webservice au lieu de renvoyer une erreur au client en disant que le service est en panne temporairement pour telle et telle raison.