C# 如何在windows服务中设置一天的计时器间隔
我创建了一个windows服务。在该服务中,我为每一分钟设置一次计时器间隔,因此每分钟都会触发一次,。但我每天都要触发相同的事件 您可以在下面的代码中找到我在C# 如何在windows服务中设置一天的计时器间隔,c#,timer,C#,Timer,我创建了一个windows服务。在该服务中,我为每一分钟设置一次计时器间隔,因此每分钟都会触发一次,。但我每天都要触发相同的事件 您可以在下面的代码中找到我在OnStart()方法中设置计时器间隔的代码 代码: protected override void OnStart(string[] args) { TraceService("start service"); //handle Elapsed event timer.El
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-如果你告诉计时器等待一天,它将等待一天白天。它不注意系统时钟。