我想創建一個在每天早上4點自動運行的服務,並且該方法會在被調用時自動刪除一些文件,我已經編寫了代碼,但是我在服務中調用的方法沒有得到執行。下面我附上我的代碼,請有人建議我一個解決方案。如何在Windows服務(c#)中調用我的方法?
public partial class Scheduler : ServiceBase
{
System.Timers.Timer _timer;
public Scheduler()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
try
{
_timer = new System.Timers.Timer();
_timer.Interval = 1 * 60 * 1000;//Every one minute
_timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
_timer.Start();
}
catch (Exception ex)
{
Library.WriteErrorLog(ex);
}
}
public void timer_Elapsed(object sender, ElapsedEventArgs e)
{
Library.WriteErrorLog("Timer elapsed");
this.ExtractDataFromSharePoint();
}
public void ExtractDataFromSharePoint()
{
Library.WriteErrorLog("inside task");
ArchiveAdministration admin = new ArchiveAdministration();
admin.ArchiveAuto();
Library.WriteErrorLog("job completed");
_timer.Stop();
}
}
而且我的日誌文件中只有以下的輸出語句:
定時器消逝
內任務
我沒有收到「任務結束」,這我已經包含聲明。
我把一個try ... catch通過在ExtractDataFromSharePoint()方法中添加try catch來獲取下面的日誌詳細信息。通過在ExtractDataFromSharePoint()中添加try catch來查看發生了什麼 – Ben