Повторяющийся процесс IIS для ASP.NET MVC?
Вот ещё Quartz.NET
Создавать "вечноживущие" процессы в вебе не стоит. Поэтому есть 2 подхода для решения таких задач: Не очень хороший (ответ почему) - это использовать Windows Service и применять в нем System.Timers.Timer или System.Threading.Timer. Не используйте Thread.Sleep()!Лучше - консольное C# приложение с запуском по расписанию в Task Scheduler