2014-06-30 35 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(); 
     }