定时器.ElapsedEventHandler函数未触发
本文关键字:函数 ElapsedEventHandler 定时器 | 更新日期: 2023-09-27 18:05:36
static System.Timers.Timer _timer;
static string _ScheduledRunningTime ="6:00 AM";
static void Main(string[] args)
{
try
{
_timer = new System.Timers.Timer(6000);
_timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
_timer.Enabled = true;
_timer.Start();
}
catch (Exception ex)
{
//Displays and Logs Message
_loggerDetails.LogMessage = ex.ToString();
_writeLog.LogDetails(_loggerDetails.LogLevel_Error, _loggerDetails.LogMessage);
}
}
static void timer_Elapsed(object sender, ElapsedEventArgs e)
{
string _CurrentTime=String.Format("{0:t}", DateTime.Now);
if (_CurrentTime == _ScheduledRunningTime)
{
ExtractDataFromSharePoint();
}
}
这是我的代码,我无法确定为什么timer_Elapsed Method没有触发,我在这段代码中做错了什么。
我猜你的应用程序几乎立即停止了。这是因为控制台应用程序通常是输入/输出应用程序,一旦代码中没有更多的读或写操作,它就会结束。
Windows窗体和WPF有一个消息传递系统,直到你结束你的应用程序。
在事件触发之前您的应用程序正在关闭。