gpt4 book ai didi

c# - 安排 C# 控制台应用程序

转载 作者:行者123 更新时间:2023-12-03 03:03:52 28 4
gpt4 key购买 nike

我给出了一个创建电子邮件 C# 控制台应用程序的任务,该应用程序的目标是批量运行。我对 C# 领域非常陌生,因此我不知道我的方向。此 C# 控制台应用程序将部署在服务器上,并期望根据服务器时间在特定时间运行。

经过一些研究,大多数建议都是关于使用任务计划程序或窗口服务,但我想知道这个 C# 控制台应用程序是否可以以某种方式运行自己的应用程序?也许执行后,它会将自己注册到服务器中,服务器会定期处理它?<​​/p>

最佳答案

如果您想通过代码管理调度程序,请查看 Quartz.NET:http://quartznet.sourceforge.net/

该库提供作业和触发器的创建。

例如(直接来自:http://quartznet.sourceforge.net/tutorial/lesson_3.html):

// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();

// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();

// construct job info
JobDetail jobDetail = new JobDetail("myJob", null, typeof(DumbJob));
// fire every hour
Trigger trigger = TriggerUtils.MakeHourlyTrigger();
// start on the next even hour
trigger.StartTime = TriggerUtils.GetEvenHourDate(DateTime.UtcNow);
trigger.Name = "myTrigger";
sched.ScheduleJob(jobDetail, trigger);

现在,这意味着您的控制台应用程序应该连续运行,这使得它不太适合这项工作。

选项 1. 通过执行控制台应用程序的任务计划程序添加任务(非常简单)。请参阅示例任务:http://www.sevenforums.com/tutorials/12444-task-scheduler-create-new-task.html

选项 2. 创建一个使用 Quartz.NET 或 .NET 之类的库的 Windows 服务(不要太复杂)Timer类来安排作业并执行批处理操作。 Windows服务的创建参见http://msdn.microsoft.com/en-us/library/zt39148a.aspx

选项 3. 让您的控制台应用程序实现调度库,如 Quartz.NET 或/Net 的 Timer类并将其作为服务运行(稍微复杂一点):Create Windows service from executable

关于c# - 安排 C# 控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18739396/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com