Кто-нибудь сможет мне помочь?
Я создаю службу 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);
}
}
}