Frage zu Diensten C#



  • Hallo

    Bei den Diensten habe ich ein kleines Verständnisproblem, ich hoffe mir kann das jemand erklären. In meiner OnStop() Methode rufe ich eine Funktion auf, welche in einer Schleife einen Code ausführt. Wenn ich den Dienst installiere funktioniert er zwar, aber steht immer im Status "wird gestartet". Beenden kann ich ihn nicht (nur wieder deinstallieren). Es wird wohl daran liegen, daß myFunction aus der Schleife nicht rauskommt. Aber die Schleife benötige ich für mein späteres Programm. Wie löst man das?

    private int i = 0;
    private void myFunction()
    {
        while(i==1)
        {
        }
    
    }
    protected override void OnStart(string[] args)
    {
        // TODO: Add code here to start your service.
        i=1;
        myFunction();
    }
    
    protected override void OnStop()
    {
        i=0;
    }
    


  • Verschrieben, ich rufe natürlich die Funktion myFunction() in der OnStart Methode auf.


Log in to reply