Расписание задачи в ASP.NET

Я пытаюсь создать планировщик задач, который запускается два раза в день. Я'мы реализовали планировщик задач, используя CacheItemRemovedCallaback, как предложено вэта почта а такжеэтот блог, У меня есть функция, которая позволяет администратору изменять запланированное время и сохраняет их в переменных приложения:

protected void UpdateSchedule(object sender, EventArgs e)
{
    Button button = sender as Button;
    if (button.ID == "scheduleButton1")
    {

        Application.Lock();
        Application["buildSchedule1"] = GetScheduleTime1; 
        Application.UnLock(); 
    }
    else if (button.ID == "scheduleButton2")
    {
        Application.Lock();
        Application["buildSchedule2"] = GetScheduleTime2; 
        Application.UnLock(); 
    }
    HttpRuntime.Cache.Remove(Global.DummyCachekey); //remove current scheduled task and set new time
 }

И на Global.aspx у меня есть:

protected void Application_Start(object sender, EventArgs e)
{
    Application.Lock();
    Application["buildSchedule1"] = new TimeSpan(10,00, 0); //default time
    Application["buildSchedule2"] = new TimeSpan(16,00, 0); //default time
    Application.UnLock(); 
    SheduleTask(); 
}; 

Проблема в том, что по какой-то причине (возможно, из-за перезапуска пула приложений) время расписания сбрасывается, и даже иногда задача выигрывает.начать со времени по умолчанию.

Я нашел решения, которые упоминают службы Windows или планировщик задач Windows, но это неэто не работает для меня, так как мне нужно, чтобы администратор мог настроить время с помощью веб-приложения. (Я ищу это, но не могничего не нашел).

Ответы на вопрос(2)

Ваш ответ на вопрос