一個人能幫助我嗎?投票服務 - C#
我正在創建一個windows服務,連接到一個sql數據庫,並檢查表中的日期,並將其與今天的日期進行比較,並更新該數據庫中的字段,例如,如果日期等於今天的日期那麼該字段將設置爲true。
我遇到的問題是,當我啓動服務時,它不會那樣做,但是當我以正常形式進行操作時,它完美地工作。
我的代碼如下:
//System.Timers
Timer timer = new Timer();
protected override void OnStart(string[] args)
{
timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
timer.Interval = 60000;
timer.Enabled = true;
}
private void OnElapsedTime(object source, ElapsedEventArgs e)
{
int campid = 0;
var campRes = new ROS.Process.CampaignServiceController().GetCampainInfo();
foreach (var s in campRes)
{
campid = s.CampaignId;
if (s.CampEndDate.Date < DateTime.Today.Date)
{
//WriteDataToFile("Not Active : " + campid.ToString());
new ROS.Process.CampaignServiceController().SetCampainStatusFalse(campid);
}
else
{
//WriteDataToFile("Active : " + campid.ToString());
new ROS.Process.CampaignServiceController().SetCampainStatusTrue(campid);
}
}
}
您可以驗證'OnElapsedTime'甚至運行? – mellamokb 2011-05-12 16:18:12
失敗的部分是什麼?您是否使用記錄器來檢查是否觸發了onelapsed方法? – soandos 2011-05-12 16:18:45
是的,我可以驗證,因爲我運行它在一個正常的Windows窗體,它的工作完美 – greame 2011-05-12 16:21:08