在计时器开始之前执行函数

本文关键字:执行 函数 计时器 开始 | 更新日期: 2023-09-27 18:10:51

我是一个有点新的在这里。我有窗口服务,其中我有一个定时器,执行一个函数后1分钟的间隔..我想执行函数第一次定时器开始之前,然后在每个定时器间隔后…

这里是我的代码:

public partial class ASMSFetchService : ServiceBase
{
    System.Timers.Timer updateAutoSMSTimer;
    public ASMSFetchService()
    {
        InitializeComponent();
    }
    protected override void OnStart(string[] args)
    {
        updateAutoSMSTimer = new System.Timers.Timer(1 * 60 * 1000);
        updateAutoSMSTimer.Elapsed += new System.Timers.ElapsedEventHandler(Slots);
        updateAutoSMSTimer.Enabled = true;
        updateAutoSMSTimer.AutoReset = true;
        updateAutoSMSTimer.Start();
     }
    private void Slots(object sender, ElapsedEventArgs e)
    {method1();}
    private void method1()
    { //SomeOpeartion }
}

当1个定时器间隔完成时,函数正在执行…我想在计时器开始之前调用method1()然后在每个计时器间隔....

之后

我试着把方法在Start()和构造函数()..但这行不通……我不确定……但这可能吗?

任何建议都会有帮助

在计时器开始之前执行函数

我想在计时器开始之前调用method1()然后在每个计时器间隔之后

然后在启动计时器之前调用它

method1();
updateAutoSMSTimer.Start();

尝试在开始之前调用if:

 protected override void OnStart(string[] args)
        {
            updateAutoSMSTimer = new System.Timers.Timer(1 * 60 * 1000);
            updateAutoSMSTimer.Elapsed += new System.Timers.ElapsedEventHandler(Slots);
            updateAutoSMSTimer.Enabled = true;
            updateAutoSMSTimer.AutoReset = true;
            method1();
            updateAutoSMSTimer.Start();
         }