У меня этот код позади в ASP.NET странице:Как правильно использовать объект Timer?
protected void LoadFile(object sender, EventArgs e)
{
try
{
Timer myTimer = new Timer();
myTimer.Elapsed += new ElapsedEventHandler(RemoveFile);
myTimer.Interval = 60000;
myTimer.Start();
}
catch (Exception)
{
}
}
private void RemoveFile(object source, ElapsedEventArgs e)
{
string path = UniquePath();
File.Delete(path);
}
Когда обработчик события LoadFile выпустили функция RemoveFile уволен после 60 секунд (как определено в этой строке myTimer.Interval = 60000), если LoadFile снова после того, как обожженного Через 40 секунд FireFile заработает через 20 секунд.
Мой вопрос заключается в том, как активировать функцию RemoveFile
через 60 секунд после последнего вызова события hanlder ?
'Если LoadFile снова выстрелил через 40 секунд, то RemoveFile сработает через 20 секунд.' - Вы имеете в виду, что 'RemoveFile' будет вызываться дважды в этот момент? (Через минуту после первого вызова, через 20 секунд после второго)? Или он будет называться только один раз ?. – Rob
Пожалуйста, никогда не кодируйте 'catch (исключение)', не говоря уже о 'catch (Exception) {}'. Это плохая практика, которая скрывает ошибки. – Enigmativity
@Rob Он будет вызываться только один раз – Michael