У меня есть цикл, который непрерывно запускает функцию, основанную на некотором состоянии. Теперь я хочу называть эту функцию каждые 10 минут только внутри цикла. Я использую Visual Studio 2005. Мой код:Как запустить функцию каждые 10 минут с помощью цикла C#?
while (boolValue == false)
{
Application.DoEvents();
StartAction(); //i want to call this function for every 10 minutes only
}
Я использую System.Timers, но это не вызов функции. Я не знаю, что случилось.
Мой код:
public static System.Timers.Timer aTimer;
while (boolValue == false)
{
aTimer = new System.Timers.Timer(50000);
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.AutoReset = false;
aTimer.Enabled = true;
}
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
Application.DoEvents();
StartAction();
}
Попробуйте планировщик заданий Quartz.net. http://stackoverflow.com/questions/8633662/call-a-method-at-a-certain-time Это OpenSource – Anand
'aTimer.AutoReset = ложь;' есть ваша проблема – Yaur
Если вы хотите делайте это бесконечно (даже после закрытия приложения), подумайте о том, чтобы написать приложение, чтобы сделать это один раз - даже консольное приложение. Затем добавьте запланированную задачу в Windows для запуска каждые 10 минут. –