Я вызываю threading.timer из global.asax, который вызывает много методов, каждый из которых получает данные из разных служб и записывает их в файлы. Мой вопрос в том, как заставить методы запускаться регулярно, скажем, 5 минут?Threading.Timer вызывает асинхронно многие методы
Что я сделать: в Global.asax Я объявляю таймер
protected void Application_Start()
{
TimerCallback timerDelegate = new TimerCallback(myMainMethod);
Timer mytimer = new Timer(timerDelegate, null, 0, 300000);
Application.Add("timer", mytimer);
}
декларация myMainMethod выглядит следующим образом:
public static void myMainMethod(object obj)
{
MyDelegateType d1 = new MyDelegateType(getandwriteServiceData1);
d1.BeginInvoke(null, null);
MyDelegateType d2 = new MyDelegateType(getandwriteServiceData2);
d2.BeginInvoke(null, null);
}
этот подход отлично работает, но он вызывает myMainMethod каждый 5 мин. Мне нужен метод, который вызывается через 5 минут после того, как все данные будут восстановлены и записаны в файлы на сервере.
Как это сделать?