C# windows服务每周运行一次

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

如何使windows服务在每周一上午12:00运行

请引导我

我已经试过了

 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”){//进一步处理}