每15分钟重复一次函数c# [关闭]

Posted

技术标签:

【中文标题】每15分钟重复一次函数c# [关闭]【英文标题】:function repetition every 15 minutes c# [closed] 【发布时间】:2017-06-13 09:35:23 【问题描述】:

我正在使用 c# 为 SAP B1 做一些掩码。

我需要知道如何创建一个函数,自动(例如每 15 分钟一次)获取一些数据并将其放入数据库。 该功能已经完成,但如何在后台创建自动执行?

最好的问候和提前感谢您的回复, 洛伦佐

【问题讨论】:

使用某种计时器,或将程序作为计划任务运行。 从我建议使用 Windows 计划任务的问题中,您的实现听起来很简单。 这取决于:此应用程序是否更像一个脚本,即它运行、执行离散作业或测试子任务,然后停止?如果是这样,我会选择计划任务建议。如果这是一个应用程序,就像一个守护进程,它应该始终运行,即使它只是循环并做同样的事情,那么我会使用一个计时器。请记住,计划任务每​​次运行时都会产生不同的进程 ID,而带有计时器的守护程序将具有与它首次启动时相同的进程 ID。这对你来说可能很重要,也可能无关紧要。 calling method on every x minutes的可能重复 【参考方案1】:

定时器是你所需要的:

var timer = new System.Threading.Timer(
    e => Method(),  
    null, 
    TimeSpan.Zero, 
    TimeSpan.FromMinutes(15));

这将每 15 分钟调用一次 Method()。

定时器信息:https://msdn.microsoft.com/en-us/library/system.threading.timer.aspx

【讨论】:

【参考方案2】:

您可以像@AmbroishPathak 建议的那样使用 Timer。此外,如 cmets 中所述,您可以使用 Windows Task Scheduler 来运行您的脚本或可执行文件。这样做的好处是进程在不工作时不会在后台运行。

您可以查看如何安排任务here的详细信息。

以下答案也描述了这一点:windows scheduler to run a task every x-minutes?

为了总结那里接受的答案,您创建了每天运行一次的任务。之后,您可以双击任务以调出其属性窗口并转到“触发器”选项卡。在“高级设置”下,您应该能够将其设置为每 x 分钟运行一次。

【讨论】:

以上是关于每15分钟重复一次函数c# [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

iOS 10 - 每“x”分钟重复一次通知

每 5 分钟删除重复项 [关闭]

c# - 将文件中的 10 行随机行(不重复)写入 15 个文件中的每一个

本地通知 - 重复间隔/自定义时间不起作用

如何设置每两分钟重复一次LocalNotification?

iOS 11-每 x 分钟重复一次的用户本地通知