我想创建一个 ASP.NET MVC 应用程序,即使我不在我的 Web 应用程序中,我也想在特定时间通过 Telegram Bot API 自动向我的电报频道发送一些消息。
例如,我想在这些日期发送我的一条消息:
2018/03/23, 2018/03/28, 2018/04/05
我想在没有任何人工帮助的情况下自动发送这些消息 但我不知道该怎么做。现在我可以在这个时候发送我的消息,而不是稍后自动发送。
您应该看看 HangFire,它以 nuget 包形式提供,可能完美满足您的需求。
在 .NET 和 .NET Core 应用程序中执行后台处理的简单方法。无需 Windows 服务或单独的进程。 由持久存储支持。开放并免费用于商业用途。
允许创建:
延迟作业也仅执行一次,但不会在一定时间间隔后立即执行。
var jobId = BackgroundJob.Schedule(
() => Console.WriteLine("Delayed!"),
TimeSpan.FromDays(7));
.Net Native 没有这样的选项(至少我不知道)。
创建一个监视数据库并执行操作的 Windows 服务。
或者,更简单一点,创建一个每 5 分钟运行一次的计划任务,例如。并执行控制台应用程序。
为什么要在 Asp.Net MVC 中实现相同的功能..?在 MVC 中,你无法安排任务,即使可以,但这不是正确的实现方式。
根据您的要求,您应该使用Windows服务,这将是您的需求实现的完美方法。