.NET Windows-Dienst mit Timer reagiert nicht mehr

Ich habe einen Windows-Dienst in c # geschrieben. Im Inneren befindet sich ein Timer, der regelmäßig einige Funktionen auslöst. Also das Gerüst meines Dienstes:

public partial class ArchiveService : ServiceBase
{
    Timer tickTack;
    int interval = 10;
    ...

    protected override void OnStart(string[] args)
    {
        tickTack = new Timer(1000 * interval);

        tickTack.Elapsed += new ElapsedEventHandler(tickTack_Elapsed);
        tickTack.Start();
    }

    protected override void OnStop()
    {            
        tickTack.Stop();
    }    

    private void tickTack_Elapsed(object sender, ElapsedEventArgs e)
    {
        ...
    }
}

Es funktioniert für einige Zeit (wie 10-15 Tage), dann hört es auf. Ich meine, der Dienst läuft, aber er macht nichts. Ich mache ein bisschen Logging und das Problem kann der Timer sein, weil er nach dem Intervall nicht die Funktion tickTack_Elapsed aufruft.

Ich habe darüber nachgedacht, es ohne Timer mit einer Endlosschleife neu zu schreiben, die die Verarbeitung für die von mir festgelegte Zeitspanne anhält. Dies ist auch keine elegante Lösung und ich denke, es kann einige Nebenwirkungen in Bezug auf das Gedächtnis haben.

The Timer wird aus dem System.Timers-Namespace verwendet, die Umgebung ist Windows 2003. Ich habe diesen Ansatz in zwei verschiedenen Diensten auf verschiedenen Servern verwendet, aber beide verursachen dieses Verhalten (aus diesem Grund dachte ich, dass es irgendwie mit meinem Code verbunden ist oder das Framework selbst).

Hat jemand dieses Verhalten erlebt? Was kann falsch sein?

Bearbeiten

Ich habe beide Dienste bearbeitet. Überall gab es einen guten Try-Catch und mehr Logging. Der zweite bekam regelmäßig eine Timer-Rekonstruktion. Keiner von ihnen hat seitdem aufgehört. Wenn diese Situation also noch eine Woche andauert, werde ich diese Frage schließen. Vielen Dank für alle bisher.

Bearbeiten

Ich schließe diese Frage, weil nichts passiert ist. Ich meine, ich habe einige Änderungen vorgenommen, aber diese Änderungen sind in dieser Angelegenheit nicht wirklich relevant und beide Dienste werden seitdem ohne Probleme ausgeführt. Bitte markieren Sie es als "Geschlossen für nicht mehr relevant".

Antworten auf die Frage(14)

Ihre Antwort auf die Frage