Windows服务每周运行一次

c# windows vb.net web-services

1235 观看

2回复

114 作者的声誉

这个问题已经在这里有了答案:

如何使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)
        {

        }
    }
作者: DotNetLover 的来源 发布者: 2017 年 9 月 15 日

回应 2


0

19580 作者的声誉

决定

正如人们在评论中所说的那样,创建一个简单的控制台应用程序,然后安排任务。

要开始,Task Scheduler只需在Windows搜索栏中键入Task SchedulerTaskschd.msc

然后Create Task...在右侧选择一个。将其指向您的控制台应用程序,然后创建一个新触发器,该触发器应在每个星期一的12.00运行,如下所示:

在此处输入图片说明

有关在以下位置创建任务的更多信息 Task Scheduler

https://technet.microsoft.com/zh-cn/library/cc748993%28v=ws.11%29.aspx?f=255&MSPPError=-2147217396

作者: Ogglas 发布者: 2017 年 9 月 15 日

0

667 作者的声誉

您可以考虑使用Topshelf和Quartz.net进行计划-您可以创建一个控制台应用程序,该应用程序作为Windows服务安装,然后配置为每24小时运行一次。如果您需要更改计划,那么它将非常灵活-我发现通过Windows GUI进行计划任务比较笨拙。

作者: thisextendsthat 发布者: 2017 年 9 月 15 日
32x32