Comment arrêter le service Windows par programme

Sur la programmation des services Windows: comment arrêter mon service windows?

Voici un exemple simplifié de code(C#):

//Here is my service class (MyTestService.cs).
public class MyTestService:ServiceBase{

    //Constructor.
    public MyTestService(){
         this.ServiceName = "My Test Service";
         return;
    }
};

// My application class (ApplicationClass.cs).
public static class ApplicationClass{

    //Here is main Main() method.
    public static void Main(){
        //1. Creating a service instance
        //and running it using ServiceBase.
        MyTestService service = new MyTestService();
        ServiceBase.Run(service);
        //2. Performing a test shutdown of a service.
        service.Stop();
        Environment.Exit(0);
        return;
    };
};

Donc: j'ai créé "Mon Test de Service" a commencé et s'est arrêté. Mais quand je suis à la recherche dans mes Services.msc - "Mon Test de Service" est continue de courir et ne s'arrête que lorsque je clique sur "Arrêter". Pourquoi? - pourquoi service.Stop() commande ne fait rien?

ServiceController.Stop() ne fait rien!

Comment puis-je arrêter mon service de méthode main ()?

source d'informationauteur roman_lenko | 2013-05-01