每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# [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
c# - 将文件中的 10 行随机行(不重复)写入 15 个文件中的每一个