C# Timers.ElapsedEventHandler功能未启动
这是我的代码,我无法确定为什么计时器未启动,以及我在代码中做了什么错误。我猜您的应用程序几乎立即停止。这是因为控制台应用程序通常是输入/输出应用程序,当代码中不再有读或写操作时,这些应用程序就会结束C# Timers.ElapsedEventHandler功能未启动,c#,C#,这是我的代码,我无法确定为什么计时器未启动,以及我在代码中做了什么错误。我猜您的应用程序几乎立即停止。这是因为控制台应用程序通常是输入/输出应用程序,当代码中不再有读或写操作时,这些应用程序就会结束 Windows窗体和WPF有一个消息传递系统,在您结束应用程序之前一直运行。您的应用程序将在触发事件之前关闭。请在Main方法或其他同步结束时使用Console.ReadKey()。是因为您在控制台应用程序中尝试了在计时器启动前终止的代码吗?你的帖子没有提供足够的信息来更好的猜测。谢谢@Patric
Windows窗体和WPF有一个消息传递系统,在您结束应用程序之前一直运行。您的应用程序将在触发事件之前关闭。请在Main方法或其他同步结束时使用Console.ReadKey()。是因为您在控制台应用程序中尝试了在计时器启动前终止的代码吗?你的帖子没有提供足够的信息来更好的猜测。谢谢@Patrick的回答。我只是想知道,如果我在windows服务中复制了与它运行时相同的代码,或者没有?
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();
}
}