.net - 如何安排我的 Windows 服务每十分钟运行一次

标签 .net windows-services

我正在使用从某些设备下载数据的 Windows 服务。如何实用地安排我的 Windows 服务每十分钟运行一次。我想每 10 分钟从这些设备下载一次数据。这是一个好方法吗使用计时器并将代码放在 Elapsed 方法中?或者有没有其他方法可以执行此任务?

最佳答案

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

现在,要每 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

关于.net - 如何安排我的 Windows 服务每十分钟运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25845475/

相关文章:

c# - 引用非托管程序集

c# - .NET 上的 DB2 连接速度慢

c# - 使用证书文件通过 SSL 连接到 Web 服务

windows-services - 卸载后无法删除服务可执行文件

Delphi Windows 服务命令行参数

python - 尽管存在无限循环,为什么这个 Python 服务会自行停止?

c# - StackExchange.Redis 字符串值转换为集合

c# - Microsoft.Data.SqlClient - 登录前握手错误

c# - 该变量未声明或从未分配警告

windows-services - 安装 Kafka 作为 windows 服务