由 Windows 任务调度程序触发

Posted

技术标签:

【中文标题】由 Windows 任务调度程序触发【英文标题】:Trigger by Windows task scheduler 【发布时间】:2018-05-13 15:41:09 【问题描述】:

我正在使用 ASP.NET 和 SQL Server Express 开发一个 Web 应用程序,并且我想检查数据库中的状态。数据保存两天后,如果状态没有改变,我想调用另一个函数,如SendEmail()。我必须使用 Windows 任务计划程序,我研究过它,但它似乎适用于 C++ 开发人员。如何关联 Windows 任务管理器和 SQL Server Express,以及如何控制表中每一行的特定值?

【问题讨论】:

Windows 任务计划程序与任何编程语言完全无关。它只是在指定时间调用可执行文件。在我的办公室,我们主要构建 ASP.NET MVC Web 应用程序,并且我们有大量工具创建了一个用 C# 编写的控制台应用程序,我们通过任务计划程序调用这些应用程序。因此,编写您想要的任何应用程序并通过控制面板打开十个任务计划程序并创建一个任务来运行它。仅此而已。 【参考方案1】:

您需要一个长时间运行的 C# 应用程序,或者是不会消失的控制台应用程序,或者是使用 Windows 服务运行的 Windows 服务。

在该应用程序中,您连接到您的数据库,进行查询,然后按照您的意愿对其进行操作。

另一种选择是编写一个普通的 c# 应用程序,它查询数据库,对结果进行操作。然后,只需在您的 Windows 调度程序中(手动)安排它以您想要的任何时间间隔运行。

【讨论】:

谢谢,但我不明白如何链接 Windows 任务计划程序和表格中每一行的特定值 我不明白。你的 c# 应用程序是唯一需要与 sql 通信的东西。 我无法解释你。我如何才能在 sql server express 和 windows 任务调度程序之间取得联系,而不是在 sql 之间获得 c# 你打算从 sql server 得到什么?您将如何处理获得的数据? 用户输入一些数据,管理员必须批准。如果管理员在两天内不批准,我想向管理员发送电子邮件。当用户发送他的数据时,其状态为AdminApproval,数据的状态不应超过两天。

以上是关于由 Windows 任务调度程序触发的主要内容,如果未能解决你的问题,请参考以下文章

如果脚本正在由任务调度程序运行,我如何捕获它的输出?

windows 服务实现定时任务调度

如何在powershell的任务调度程序中设置触发器“连接到用户会话”?

任务调度开源框架Quartz动态添加修改和删除定时任务

Windows 任务调度程序可在几秒钟内执行任务

分布式任务调度系统Akkaflow介绍