You can use the System.Threading.Timer class with the Start event application in global.asax:
protected static Timer timer; protected void Application_Start(Object sender, EventArgs e) { timer = new Timer(MyRoutineToCall, null, TimeSpan.FromHours(1), TimeSpan.FromHours(1)); } protected void MyRoutineToCall(Object state) {
source share