Partager via


Comment : effectuer des tâches administratives sur des services

Mise à jour : novembre 2007

Vous pouvez exécuter sur un service diverses tâches administratives standard consistant, par exemple, à le démarrer et à l'arrêter, à le suspendre et à le redémarrer. Vous pouvez effectuer ces tâches de deux façons : en utilisant la commande Lancer le Gestionnaire de services dans l'Explorateur de serveurs/bases de données, ou en appelant des méthodes d'une instance du composant ServiceController connectée à un service existant.

En règle générale, l'auteur du service écrit du code pour personnaliser l'action associée à une tâche spécifique. Par exemple, un service peut contenir du code répondant à une commande OnPause. Dans ce cas, le traitement personnalisé de la tâche de suspension est exécuté avant que le service ne soit suspendu. Pour plus d'informations sur la définition du fonctionnement du service, consultez Comment : créer des services Windows.

Les tâches spécifiques disponibles pour un service dépendent des propriétés de celui-ci ; par exemple, vous pouvez définir la propriété CanStop d'un service en lui affectant la valeur false. De cette manière, la commande Arrêter devient non disponible sur ce service particulier. Si vous essayez d'arrêter le service à partir du code, le système envoie le message d'erreur suivant : "Impossible d'arrêter NomService."

Remarque :

Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Pour exécuter une tâche administrative à partir de l'Explorateur de serveurs/bases de données

  1. Dans l'Explorateur de serveurs/bases de données, si le serveur sur lequel vous souhaitez effectuer la tâche n'est pas déjà répertorié, ajoutez-le. Pour plus d'informations, consultez Comment : accéder à l'Explorateur de serveurs/bases de données et l'initialiser.

  2. Pour ouvrir la console Services et accéder aux options de service individuelles, cliquez avec le bouton droit sur le nœud Services et cliquez sur Lancer le Gestionnaire de services.

Pour exécuter une tâche administrative par programme

  1. Créez une instance de la classe ServiceController et configurez-la pour qu'elle interagisse avec le service à administrer. Pour plus d'informations, consultez Comment : créer des instances du composant ServiceController.

  2. Appelez la méthode appropriée pour démarrer, arrêter, suspendre ou reprendre le service.

    Conseil :

    Vous pouvez interroger la propriété correspondant à l'une de ces commandes pour déterminer si le service répondra à votre demande ; autrement dit, vous pouvez créer une instruction conditionnelle qui interroge la propriété CanStop du service et déterminer si sa valeur est true avant d'appeler la méthode Stop.

    L'exemple suivant montre comment déterminer si un service peut accepter une commande donnée avant d'émettre celle-ci.

    If myController.CanStop Then
        myController.Stop()
    End If
    
         if (myController.CanStop)
            {
                myController.Stop();
            }
    

Voir aussi

Tâches

Comment : créer des instances du composant ServiceController

Comment : récupérer des listes de services

Comment : créer des services Windows

Concepts

Introduction à la communication avec des services existants

Référence

Comment : accéder à l'Explorateur de serveurs/bases de données et l'initialiser