In meiner Window-Service-Anwendung wird die Timer-Funktion nie aufgerufen. Ich habe den Dienst auf meinem Computer bereitgestellt und dann den Dienst mit Haltepunkten für verschiedene Funktionen an Visual Studio angeschlossen. Nach OnStart()
wird keine meiner Funktionen aufgerufen.C# Window Service ruft keine Timer-Funktion auf
Hier ist meine OnStart()
Funktion
protected override void OnStart(string[] args)
{
this.timer = new System.Timers.Timer(50000);
this.timer.AutoReset = true;
this.timer.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_Tick);
this.timer.Start();
}
Aktualisiert 2017.09.12: Added Ereignis in try log und Diese Funktion fangen dann ruft timer1_tick()
:
private void timer1_Tick(object sender, EventArgs e)
{
try
{
EventLog.WriteEntry("Running.."+ e.ToString());
}
catch (Exception ex)
{
EventLog.WriteEntry("Caught Exception "+ex.ToString(), EventLogEntryType.Error);
}
}
Die timer1_tick
nie aufgerufen . Irgendwelche Vorschläge?
Update 12/09/2017: Ich überprüfte das Ereignisprotokoll. Unter Windows Logs> Anwendung kann ich die Nachricht sehen, der Dienst wurde erfolgreich gestartet. Die Ereignisprotokolle, die im try-catch-Block hinzugefügt wurden, werden jedoch nicht angezeigt. Ich bin mir nicht sicher, ob mir etwas fehlt.
Ich habe den Dienst zum Debuggen an Visual Studio angehängt. Im folgenden Bild wird die Methode OnStart()
aufgerufen. Habe ich nur noch die Thread.Sleep(30000)
so dass ich einige Pufferzeit bekommen, den Prozess zu dem Debugger anhängen zu vermeiden Überspringen der OnStart()
Funktion
Nachdem der Timer gestartet, ich habe einen Stützpunkt auf der TimerTick() -Funktion erwartet es getroffen werden, aber es hat nie
Sie haben lange genug gewartet? dumme Frage vielleicht, aber Sie werden es nie wissen :) –
Versuchen Sie, mit einem niedrigeren Intervall zu initialisieren und einen try \ catch innerhalb des timer1_Tick, protokollieren die Ausnahme, wenn es auftritt. –
@MartinoBordin Ich habe das Intervall auf 5 Sekunden reduziert und einen try-catch-Block hinzugefügt, aber ich bekomme keine E-Mails. –