D
deep_havoc
Hi,
ich habe ein Probleme beim Verwalten von Windows-Diensten unter VB.Net.
Über die Klasse System.ServiceProcess.ServiceController möchte ich einen Dienst abhängig von einer Variable entweder starten oder stoppen lassen.
Das ganze lasse ich in einer Schleife laufen und immer wieder checken, ob sich die Variable verändert hat.
Am Anfang der Klasse wird das Objekt der Klasse wie folgt erstellt:
später wird dann in einer Methode folgendes Ausgeführt:
Das ganze funktioniert beim 1. mal sehr gut, doch wenn die Variable den Zustand von False auf True (oder umgekehrt) bekommen, wird der ServiceController.Status wohl nicht mehr richtig erkannt und die Prozedur versucht den Dienst das zweite mal zu starten oder zu beenden, was freilich nicht ohne Fehler funktioniert.
Hat da jemand Erfahrung und kann mir einen Tipp geben ?
Das Problem fuchst mich schon seit Stunden... !
Vielen Dank im voraus...
ich habe ein Probleme beim Verwalten von Windows-Diensten unter VB.Net.
Über die Klasse System.ServiceProcess.ServiceController möchte ich einen Dienst abhängig von einer Variable entweder starten oder stoppen lassen.
Das ganze lasse ich in einer Schleife laufen und immer wieder checken, ob sich die Variable verändert hat.
Am Anfang der Klasse wird das Objekt der Klasse wie folgt erstellt:
Code:
Private ServiceController As New System.ServiceProcess.ServiceController _
("Messenger", "W2K-O20126-6")
später wird dann in einer Methode folgendes Ausgeführt:
Code:
If clientconnected = True Then
If ServiceController.Status.Equals(System.ServiceProcess.ServiceControllerStatus.Running) _
= True Then
ServiceController.Stop()
End If
ElseIf clientconnected = False Then
If ServiceController.Status.Equals(System.ServiceProcess.ServiceControllerStatus.Stopped) _
= True Then
ServiceController.Start()
End If
End If
Das ganze funktioniert beim 1. mal sehr gut, doch wenn die Variable den Zustand von False auf True (oder umgekehrt) bekommen, wird der ServiceController.Status wohl nicht mehr richtig erkannt und die Prozedur versucht den Dienst das zweite mal zu starten oder zu beenden, was freilich nicht ohne Fehler funktioniert.
Hat da jemand Erfahrung und kann mir einen Tipp geben ?
Das Problem fuchst mich schon seit Stunden... !
Vielen Dank im voraus...