Я делаю небольшой тестовый проект, прежде чем использовать System.Threading.Timer
в проекте Windows Service. Он работает чудесно, однако таймер останавливается сам по себе через минуту или две.
Полный источник тестового проекта:
using System;
using System.Windows.Forms;
using System.Threading;
namespace studyTimers {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) {
TimerCallback timerDelegate = new TimerCallback(tick);
System.Threading.Timer testTimer = new System.Threading.Timer(timerDelegate, null, 1000, 1000);
}
void tick(Object obj) {
if (label1.InvokeRequired) {
label1.Invoke(new MethodInvoker(() => tick(obj)));
} else {
label1.Text = DateTime.Now.ToString();
}
}
}
}
Целью является, очевидно, обновление метки с текущим временем. Я замечаю, что обновление останавливается немного. Почему это должно быть?