强制计时器的勾号(包括异步行为)

时间:2010-05-06 07:47:41

标签: c# asynchronous timer execution

在我的应用程序上,我有一个计时器,可以在几分钟的时间间隔内检查服务器的配置更新。

配置检索是一个非常耗时的过程,所以我想强制定时器的“Tick”事件,但我不能只调用timer_tick(bla,bla,bla),因为它会同步执行。

是否有一种简单的方法可以强制计时器“勾选”(不创建新线程)? 该行为应该“重置”计时器的剩余时间(因此,如果最初计时器设置为2分钟间隔和1分钟已经过去 - 强制“勾号”后 - 计时器将再次开始计数2分钟)

2 个答案:

答案 0 :(得分:2)

更改它的超时值。

答案 1 :(得分:0)

在您的消费过程中,您的第一步是禁用计时器,最后一步是再次启用它。

也许你只是在调用长期运行的流程之前和之后启用此功能并启用:

timer.Enabled = false;
LongRunningSyncProcess();
timer.Enabled = true;