方法/任务调度程序c#

时间:2016-06-23 07:45:47

标签: c#

我正在使用C# 我认为这是一个菜鸟问题,但无论如何我都会尝试 我有一个带有方法的C#项目:Map
我正在寻找一个任务调度程序,每天/每小时为我运行我的方法(X(),Y(),Z())在不同的时间。
最好的方法是什么?

5 个答案:

答案 0 :(得分:4)

只需创建一个控制台应用程序,它接受一个可以调用相应函数的参数(想象myapp.exe x)。然后将许多计划任务添加到Windows计划程序,您将全部设置。

答案 1 :(得分:3)

最简单的方法是使用现有的库。斯科特·汉塞尔曼(Scott Hanselman)有一段时间的博客http://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.aspx

注意:文章提到了asp.net但是提到的调度程序也可以通过控制台或Windows应用程序运行。

我个人使用现已更新的Fluent调度程序(https://github.com/fluentscheduler/FluentScheduler)来支持.net核心。它易于使用,如果您有简单的日程安排要求,可能就是我推荐的那个。

答案 2 :(得分:2)

如果您想每小时,每天或任何其他明确知道的时段运行一些代码,那么最好的选择是创建一个控制台应用程序并使用Windows任务计划程序来运行此应用程序。

如果这个时期不清楚并且取决于某些逻辑或计算,那么最好的选择是使用始终运行的Windows服务,它将在必要时运行您的方法。

答案 3 :(得分:1)

我会创建一个Windows服务,在Windows服务中,您可以使用计时器检查来调用您的方法。 (我们在旧公司这样做了)

答案 4 :(得分:1)

如果您的应用程序始终运行,您可以尝试使用响应式扩展程序:

Observable.Timer(TimeSpan.FromSeconds(5)).Subscribe(x=>X());

点击此处查看更多信息https://msdn.microsoft.com/en-us/library/hh242977(v=vs.103).aspx