C# 如何在windows服务中设置一天的计时器间隔

C# 如何在windows服务中设置一天的计时器间隔,c#,timer,C#,Timer,我创建了一个windows服务。在该服务中,我为每一分钟设置一次计时器间隔,因此每分钟都会触发一次,。但我每天都要触发相同的事件 您可以在下面的代码中找到我在OnStart()方法中设置计时器间隔的代码 代码: protected override void OnStart(string[] args) { TraceService("start service"); //handle Elapsed event timer.El

我创建了一个windows服务。在该服务中,我为每一分钟设置一次计时器间隔,因此每分钟都会触发一次,。但我每天都要触发相同的事件

您可以在下面的代码中找到我在
OnStart()
方法中设置计时器间隔的代码

代码:

    protected override void OnStart(string[] args)
    {
        TraceService("start service");

        //handle Elapsed event
        timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);

        //This statement is used to set interval to 1 minute (= 60,000 milliseconds)

        timer.Interval = 86400000;

        //enabling the timer
        timer.Enabled = true;
    }

关于你的帖子,有两件事:

首先,它没有说明问题所在

从技术上讲,计时器支持大约25天的计时器间隔。 因此,您的代码应该可以工作

如果您希望超过25天,并且不关心线程安全,我建议您转到System.Threading.Timer

更多信息


由于您的服务是以基于windows的服务运行的,因此我建议您转到System.Threading.Timer。

因此,关于您的帖子,有几点:

首先,它没有说明问题所在

从技术上讲,计时器支持大约25天的计时器间隔。 因此,您的代码应该可以工作

如果您希望超过25天,并且不关心线程安全,我建议您转到System.Threading.Timer

更多信息


由于您的服务是以基于windows的服务运行的,因此我建议您访问System.Threading.Timer。

这篇文章很老了,但我认为值得一提的是,与其使用86400000这样的神奇数字,不如使用新的TimeSpan(1,0,0,0)。Total毫秒,因此,如果有人需要更改它,他们将知道应该更改什么。

这篇文章很旧,但我认为值得一提的是,与其使用像86400000这样的神奇数字,不如使用像new TimeSpan(1,0,0,0)这样的数字,因此,如果有人需要更改它,他们将知道应该更改什么。

在C#中,现在可以使用TimeSpan类获取一天中的总毫秒数来设置每天计时器

var totalMilliSecondsPerDay = TimeSpan.FromDays(1).TotalMilliseconds;
var timer = new Timer(totalMilliSecondsPerDay);
在C#中,现在可以使用TimeSpan类获取一天中的总毫秒数,以设置每天计时器

var totalMilliSecondsPerDay = TimeSpan.FromDays(1).TotalMilliseconds;
var timer = new Timer(totalMilliSecondsPerDay);

那么问题是什么呢?它坏了吗?你用的是哪个定时器?在.NET中有很多计时器。这可能对你有帮助吗?兄弟,现在他不应该迟到了
timer.appead
仅在
System.Timers.timer
@SriramSakthivel:Yup.中找到。。你是对的。Missed:(那么问题出在哪里?它不工作吗?你使用的是哪种计时器?在.NET中有很多计时器。这是否有助于你兄弟不必命名。
timer.appeased
只能在
System.timers.timer
@SriramSakthivel:是的..你是对的。Missed:(我的问题是如何设置一天的计时器间隔..当我尝试给出一分钟(60000毫秒)的工作时间..因此我给出了86400000(24*60*60*1000)由于计时器间隔不起作用..我正在通过调用一个方法进行测试,该方法将日志条目存储在一个单独的文件中,当我仅通过手动更改系统日期时间来检查一天时,我无法获取条目…请提供解决方案以实现此目的…@D.N.E.Z-如果你告诉计时器等待一天,它将等待一天一天。它不注意系统时钟。我的问题是如何设置一天的计时器间隔。当我尝试给予一分钟(60000毫秒)的工作时间时。因此我给予86400000(24*60*60*1000)由于计时器间隔不起作用..我正在通过调用一个方法进行测试,该方法将日志条目存储在一个单独的文件中,当我仅通过手动更改系统日期时间来检查一天时,我无法获取条目…请提供解决方案以实现此目的…@D.N.E.Z-如果你告诉计时器等待一天,它将等待一天白天。它不注意系统时钟。