C# windows服务每周运行一次
如何使windows服务在每周一上午12:00运行 请引导我 我已经试过了C# windows服务每周运行一次,c#,windows,vb.net,web-services,C#,Windows,Vb.net,Web Services,如何使windows服务在每周一上午12:00运行 请引导我 我已经试过了 protected void InitializeTimer() { if (timer1 == null) { timer1 = new Timer(); timer1.AutoReset = true; var todayInWeek = DateTime.Now.Date.Day
protected void InitializeTimer()
{
if (timer1 == null)
{
timer1 = new Timer();
timer1.AutoReset = true;
var todayInWeek = DateTime.Now.Date.DayOfWeek;
DateTime _scheduleTime = DateTime.Parse(System.Configuration.ConfigurationManager.AppSettings["ScheduledTime"]);
if (todayInWeek == DayOfWeek.Monday)
{
timer1.Elapsed += new ElapsedEventHandler(schedular());
}
}
}
private void schedular(object sender, ElapsedEventArgs e)
{
try
{
}
catch (Exception ex)
{
}
}
正如人们在评论中所说,创建一个简单的控制台应用程序,然后安排一个任务 要启动
任务计划程序
,只需在Windows搜索栏中键入任务计划程序
或Taskschd.msc
然后选择右侧的创建任务…
。将它指向您的控制台应用程序,然后创建一个新触发器,该触发器表示它应在每周一12:00运行,如下所示:
有关在任务计划程序中创建任务的详细信息
您可以考虑使用Topshelf和Quartz.net进行调度—您可以创建一个控制台应用程序,作为windows服务安装,然后将其配置为每24小时运行一次。如果您需要更改调度,那么它将非常灵活-我发现通过windows GUI调度任务有点笨重。您可以改用任务调度程序。当间隔较小时,Windows服务通常很有用-可能在几分钟内。感谢您给我答复我将浏览任务计划程序…您能为我提供一些很好的参考资料吗…任务计划可能是此链接将帮助您。任务计划程序与VB.NET应用程序无关。您只需像其他应用程序一样创建一个控制台应用程序。任务计划程序是一个Windows实用程序,您可以在Windows中调用它,并创建一个将调用您的应用程序的任务。按照我的想法,Windows服务可以调用一次,并且应该始终运行。为此,我们使用特定条件编写了类似于永无止境循环的代码。条件与您的情况类似,您可以过滤,进一步的处理只能在周一上午12点开始。While(true){if(DateTime.Now.ToString(“MMM”)==“Monday”和&DateTime.Now.ToString(“HH:mm:ss tt”)==“12:00:00 AM”){//进一步处理}