Я вызываю threading.timer из global.asax, который вызывает много методов, каждый из которых получает данные из разных служб и записывает их в файлы.
У меня вопрос, как я могу сделать методы, которые будут вызываться на регулярной основе, скажем, 5 минут?
Что я делаю, это:
в 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 минут после того, как все данные восстановлены и записаны в файлы на сервере.
Как мне это сделать?