如何调用“Action result”ASP.. NET MVC在特定时间(每天)

本文关键字:MVC NET 每天 定时间 ASP result 何调用 调用 Action | 更新日期: 2023-09-27 18:04:00

我有一个按特定时间向用户发送电子邮件的系统。内置在ASP中。. NET MVC4,并有一个操作结果"函数",用于检查消息的时间,如果消息的日期是今天,则发送它。

我如何以有效的方式将此操作结果(每日)称为调度程序?

谢谢。

如何调用“Action result”ASP.. NET MVC在特定时间(每天)

虽然单独的服务/应用程序会更好,但您可以使用wget.

GNU Wget是一个使用HTTP检索文件的免费软件包。HTTPS和FTP,最广泛使用的互联网协议。这是一个非交互式命令行工具,因此可以轻松地从脚本、cron作业、不支持X-Windows的终端等

你可以这样做:

"C:'Program Files (x86)'GnuWin32'bin'wget.exe" --no-check-certificate https://www.exammple.com/YouController/YourAction -O NUL

.bat文件中,并将其设置为在您需要的时间通过windows计划任务运行(假设您不需要少于每60秒运行一次-如果您这样做,请告诉我,因为我有另一种方法来使用windows服务来调用bat文件)。

省略-O NUL部分还可以保存输出,因此您可以通过以下操作查看是否一切都成功运行:

public ActionResult YourAction()
{
    //Do your code, get some stats that show it ran properly.
    return Content("Return your stats here.");
}

当你以Windows Service的方式创建新的应用程序时,效率会更高。在那里你可以很容易地设置代码在特定的时间开始。在这个解决方案中,您将拥有更大的灵活性和独立性。

您可以创建一个小型控制台应用程序,它只调用发送电子邮件的API。然后,你可以使用Windows Scheduler安排控制台应用程序在特定时间运行;您甚至可以在不显示控制台窗口的情况下运行它。有关如何安排任务的详细信息,请参阅此处或此处。

使用Azure函数,这正是构建它的目的。真不错。

https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview