I have a windows service that uses two static timers and several dynamically created timers (System.Timers.Timer).
The issue is that the service runs fine, then suddenly, the timers no longer fire so nothing happens but the service still shows as running.
We write to a log when a timer tick begins processing and when it ends, and after checking the logs, we see that a process begins and ends but is never called again.
Also, the timers don't all fail at the same time.
On one of the static timers I disable at the start of processing then enable at the end, this is in a try catch finally statement so the timer should always be re-enabled.
One last thought, the server where this is being tested has high memory usage, could it be possible that the server is trying to reclaim memory and as a result, the service is faltering? Would making the process high priority make a difference?
Also, on another server where this has been tested, the service has run without incident for at least two weeks. This is why I feel that the issue could be to do with the server more than the service itself.
Any help/suggestions are very much appreciated!