我有点新了。我有窗口服务,其中我有一个定时器,它在1分钟间隔后执行一个功能。我想在定时器启动之前第一次执行功能,然后在每个定时器间隔后执行... < / p>
这是我的代码:
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()和构造函数()中..但它不起作用......我不确定..但是可以吗???
任何建议都会有帮助
答案 0 :(得分:3)
我想在定时器启动之前调用method1(),然后在每个定时器间隔之后调用
然后在启动计时器之前调用它
method1();
updateAutoSMSTimer.Start();
答案 1 :(得分:0)
尝试在开始之前调用:
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();
}