Partager via


Comment : écrire les services par programme

Mise à jour : novembre 2007

Si vous choisissez de ne pas utiliser le modèle de projet de service Windows, vous pouvez développer vos propres services en configurant vous-même l'héritage et d'autres éléments d'infrastructure. Lorsque vous créez un service par programme, vous devez accomplir les tâches suivantes que le modèle prendrait autrement en charge à votre place :

  • Vous devez configurer votre classe de service de telle sorte qu'elle hérite de la classe ServiceBase.

  • Vous devez créer pour votre projet de service une méthode Main qui définit les services à exécuter et qui appelle pour eux la méthode Run.

  • Vous devez substituer les procédures OnStart et OnStop, et fournir le code que vous voulez qu'elles exécutent.

    Remarque :

    Le modèle de service Windows, ainsi que les fonctionnalités associées, ne sont pas disponibles dans la version standard de Visual Studio.

Pour créer un service par programme

  1. Créez un projet vide et une référence aux espaces de noms nécessaires en suivant ces étapes :

    1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud Références et cliquez sur Ajouter une référence.

    2. Sous l'onglet .NET Framework, placez-vous sur System.dll et cliquez sur Sélectionner.

    3. Placez-vous sur System.Diagnostics.dll et cliquez sur Sélectionner.

    4. Cliquez sur OK.

  2. Ajoutez une classe et configurez-la pour qu'elle hérite de ServiceBase :

    Public Class UserService1
       Inherits System.ServiceProcess.ServiceBase
    End Class
    
    public class UserService1 : System.ServiceProcess.ServiceBase  
    {
    }
    
    public class UserService1 extends System.ServiceProcess.ServiceBase
    {
    }
    
  3. Ajoutez le code suivant pour configurer votre classe de service :

    Public Sub New()
        Me.ServiceName = "MyService2"
        Me.CanStop = True
        Me.CanPauseAndContinue = True
        Me.AutoLog = True
    End Sub
    
     public UserService1() 
        {
            this.ServiceName = "MyService2";
            this.CanStop = true;
            this.CanPauseAndContinue = true;
            this.AutoLog = true;
        }
    
        public UserService1() 
        {
            this.set_ServiceName("MyService2");
            this.set_CanStop(true);
            this.set_CanPauseAndContinue(true);
            this.set_AutoLog(true);
        }
    
  4. Créez une méthode Main pour votre classe et utilisez-la pour définir le service que votre classe contiendra ; userService1 est le nom de la classe :

    Shared Sub Main()
      System.ServiceProcess.ServiceBase.Run(New UserService1)
    End Sub
    
     public static void Main()
        {
            System.ServiceProcess.ServiceBase.Run(new UserService1());
        }
    
        public static void main()
        {
            System.ServiceProcess.ServiceBase.Run(new UserService1());
        }
    
  5. Substituez la méthode OnStart et définissez le traitement que vous voulez lancer au démarrage de votre service.

    Protected Overrides Sub OnStart(ByVal args() As String)
      ' Insert code here to define processing.
    End Sub
    
     protected override void OnStart(string[] args)
        {
            // Insert code here to define processing.
        }
    
        protected void OnStart(System.String[] args)
        {
            // Insert code here to define processing.
        }
    
  6. Substituez toutes les méthodes pour lesquelles vous voulez définir un traitement personnalisé et écrivez du code pour déterminer les actions que le service doit accomplir dans chaque cas.

  7. Ajoutez les programmes d'installation nécessaires à votre application de service. Pour plus d'informations, consultez Comment : ajouter des programmes d'installation à votre application de service.

  8. Générez votre projet en sélectionnant Générer la solution dans le menu Générer.

    Remarque :

    N'appuyez pas sur la touche F5 pour exécuter le projet ; il n'est pas possible d'exécuter un projet de service de cette manière.

  9. Créez un projet d'installation et des actions personnalisées pour installer votre service. Pour un exemple, consultez Procédure pas à pas : création d'une application de service Windows dans le Concepteur de composants.

  10. Installez le service. Pour plus d'informations, consultez Comment : installer et désinstaller des services.

Voir aussi

Tâches

Comment : créer des services Windows

Comment : ajouter des programmes d'installation à votre application de service

Comment : enregistrer des informations relatives aux services

Procédure pas à pas : création d'une application de service Windows dans le Concepteur de composants

Procédure pas à pas : création d'une action personnalisée

Concepts

Introduction aux applications de service Windows

Projets d'installation