I would use Job Scheduling Library like Quartz or simply create console application and run it using windows task scheduler at the specific time of the day.
Why not just use System.Timers.Timer?
- Timers have no persistence mechanism.
- Timers have inflexible scheduling (only able to set start-time & repeat interval, nothing based on dates, time of day, etc.
- Timers don't utilize a thread-pool (one thread per timer)
- Timers have no real management schemes - you'd have to write your own mechanism for being able to remember, organize and retreive your tasks by name, e