2014-06-30 26 views
0

我有点新这里。我有一个窗口服务,其中我有一个定时器,它在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个计时器间隔完整的......我想通话计时开始前,方法1(),然后每经过定时器的时间间隔....

我试着把方法放在开始()和构造函数()..但它不工作...我不知道..但可以吗?

任何建议将是有益的

回答

3

我想通话计时开始前,然后每一个定时器间隔后

然后调用它,你启动计时器前,方法1()

method1(); 
updateAutoSMSTimer.Start(); 
+0

好..感谢..工作.. – user3767164

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(); 
     }