Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C语言中为windows服务设置计时器#_C#_.net_Timer - Fatal编程技术网

C# 在C语言中为windows服务设置计时器#

C# 在C语言中为windows服务设置计时器#,c#,.net,timer,C#,.net,Timer,我正在使用以下设置为windows服务设置计时器: 计时器将在10天后启动,乘数为3,即在10*3=30天后再次运行,然后30*3=90。此计时器应在180天后停止。 我试图通过这样一种方式来实现这一点:我们计算出未来最接近的时间,然后冷静下来,直到那个时间到来,发出你需要发出的请求,然后再次计算出下一个最接近的时间 到目前为止,我只尝试按如下方式设置计时器。但在乘数部分迷失了方向 private readonly Timer _timer _timer.Interval = TimeSpan

我正在使用以下设置为windows服务设置计时器: 计时器将在10天后启动,乘数为3,即在10*3=30天后再次运行,然后30*3=90。此计时器应在180天后停止。 我试图通过这样一种方式来实现这一点:我们计算出未来最接近的时间,然后冷静下来,直到那个时间到来,发出你需要发出的请求,然后再次计算出下一个最接近的时间

到目前为止,我只尝试按如下方式设置计时器。但在乘数部分迷失了方向

private readonly Timer _timer

_timer.Interval = TimeSpan.FromDays(10).TotalMilliseconds;

 _timer.Elapsed += DoWork;

_timer.Start();
//设置计时器进行工作

private void DoWork(){}

请参阅设置
计时器。间隔
到10天是一个非常糟糕的设计选择。如果Windows服务(或服务器)重新启动怎么办?相反,您应该将
DateTime
值存储在某个位置,并定期将其值与当前日期/时间进行比较。您查看过吗?不确定您的项目是什么,但这听起来像是任务调度器的一个优点,因为您只想让它“冷却”x天。您尝试做的是不同寻常的。你能告诉我们你想解决的真正问题吗?