Bueno, yo lo hago leyendo XML, pero eso es lo de menos... Te explico como lo he hecho yo y ya recojes lo que te sirva:
Me he creado dos clases a las que he llamado, programador y tareas.
Tareas.c
Código:
public sealed class Tareas
{
public Tareas() {}
public static void CadaHora(object state)
{
//TODO: logica del metodo
}
}
En esta clase creo el metodo al cual se llamara cada hora.
Programador.c
Código:
public class Programador
{
public Programador() { }
public void Programador_Start()
{
TimerCallback callbackHora = new TimerCallback(Tareas.CadaHora);
Timer HoraTimer = new Timer(callbackHora, null, TimeSpan.Zero, TimeSpan.FromHours(1.0));
}
}
Creo un TimerCallback y un Timer que se encargara de llamar a la tarea.
Luego has de crear en el Global.asax te encargas de llamar al programador en el Aplication_Start.
Global.asax
Código:
protected void Application_Start(object sender, EventArgs e)
{
Programador tareas = new Programador();
tareas.Programador_Start();
}
Yo lo tengo funcionando en mi web y puedes comprobar que funciona.(en la firma sale)
Espero que te sirva! Saludos!