Ниже представлен класс из. Net службы Windows. Метод DoSomeDatabaseStuff занимает 10 минут, когда он запускается в первый раз, но по истечении этого времени этот метод больше не вызывается.C# Таймер с истекшим временем не вызывает метод
public class Test
{
public void Start()
{
DoSomeDatabaseStuff();
_oTimer = new Timer(60000);
_oTimer.Elapsed += OnTimeout;
_oTimer.AutoReset = true;
_oTimer.Start();
}
private void OnTimeout(object source, ElapsedEventArgs e)
{
DoSomeDatabaseStuff();
_oTimer = new Timer(60000);
_oTimer.Elapsed += OnTimeout;
_oTimer.AutoReset = true;
_oTimer.Start();
}
}
Вы пытались поставить точку останова в своем методе 'OnTimeout'? –
Нет необходимости в повторной инициализации '_oTimer' внутри' OnTimeout', так как у вас 'AutoReset' установлено значение' true'. –
60000 мс - одна минута, а не 10;) –