.net 如何安排windows服务每十分钟运行一次

.net 如何安排windows服务每十分钟运行一次,.net,windows-services,.net,Windows Services,我在一个windows服务中工作,该服务从某些设备下载数据。我如何实际地安排我的windows服务每10分钟运行一次。我想每10分钟从这些设备下载一次数据。使用计时器并将代码放入已用方法中是否是一个好方法?或者是否有其他方法来执行此任务?不确定您在这一过程中走了多远,但假设您刚刚开始,请按照分步说明创建可以使用InstallUtil.exe安装的基本Windows服务。如果希望让Windows服务可执行文件自行安装和卸载,请按照分步说明进行操作。这应该让你开始 现在,要每10分钟运行一次,您需要

我在一个windows服务中工作,该服务从某些设备下载数据。我如何实际地安排我的windows服务每10分钟运行一次。我想每10分钟从这些设备下载一次数据。使用计时器并将代码放入已用方法中是否是一个好方法?或者是否有其他方法来执行此任务?

不确定您在这一过程中走了多远,但假设您刚刚开始,请按照分步说明创建可以使用InstallUtil.exe安装的基本Windows服务。如果希望让Windows服务可执行文件自行安装和卸载,请按照分步说明进行操作。这应该让你开始

现在,要每10分钟运行一次,您需要一个计时器。下面是一个可能的例子

using System.Timers;
public partial class Service1 : ServiceBase
{
    private Timer _timer;

    protected override void OnStart(string[] args)
    {
        _timer = new Timer(10 * 60 * 1000);  // 10 minutes expressed as milliseconds
        _timer.Elapsed += new ElapsedEventHandler(OnTimerElapsed);
        _timer.AutoReset = true;
        _timer.Start();
    }

    protected override void OnStop()
    {
        _timer.Stop();
        _timer.Dispose();
    }

    private void OnTimerElapsed(object sender, ElapsedEventArgs e)
    {
        // Do your work here...
    }

HTH

您可能希望在进入OnTimeRecursed方法时暂停/停止计时器,如果您的处理可能会运行10分钟以上,请在退出该方法之前恢复计时器。

使用Windows的任务计划程序。请在你的问题上再努力一点,不要只是复制标题,展示你的尝试。您确定要每十分钟运行一次服务吗,或者您希望它每十分钟执行一次工作?您好,谢谢您的建议。我希望每十分钟执行一次工作。我认为WTS对于这个频率来说太重了-我会选择带有计时器的Windows服务。您可能希望在进入OnTimeRecursed方法时暂停/停止计时器,如果您的处理可能会运行10分钟以上,请在退出该方法之前恢复。