在MVC中调度作业

时间:2018-03-23 08:15:22

标签: c# asp.net-mvc scheduler telegram

我想创建一个ASP.MVC应用程序,我希望在某个时间通过Telegram Bot Api自动向我的电报频道发送一些消息,即使我不在我的网络应用程序中。

例如,我想在这些日期发送我的一条消息:2018/03 / 23,2018 / 03 / 28,2018 / 04/05。

我想在没有任何人工帮助的情况下自动发送这些消息 但我不知道怎么做。现在我可以在此时发送消息,而不是在以后自动发送消息。

3 个答案:

答案 0 :(得分:2)

您应该查看HangFire作为nuget包提供的内容,并且可以完美地满足您的需求。

  

在.NET和.NET Core应用程序中执行后台处理的简便方法。无需Windows服务或单独的过程。   以持久存储为后盾。开放和免费用于商业用途。

允许创建:

  

延迟作业也只执行一次,但在一定时间间隔后不会立即执行。

var jobId = BackgroundJob.Schedule(
    () => Console.WriteLine("Delayed!"),
    TimeSpan.FromDays(7));

答案 1 :(得分:0)

使用.Net native没有这样的选项(至少我不知道)。

创建一个监视数据库并执行操作的Windows服务。

或者,更简单一点,创建一个每5分钟运行一次的计划任务,例如。并执行控制台应用程序。

答案 2 :(得分:0)

为什么要在Asp.Net MVC中实现相同的功能..?在MVC中,如果可以的话,你仍然无法完成任务,但它不是正确的实现方式。

根据您的要求,您必须使用Windows服务,这将是您的需求实施的完美方法。