Расписание задачи в 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, но это неэто не работает для меня, так как мне нужно, чтобы администратор мог настроить время с помощью веб-приложения. (Я ищу это, но не могничего не нашел).