在 ASP.NET MVC 中安排作业

问题描述 投票:0回答:3

我想创建一个 ASP.NET MVC 应用程序,即使我不在我的 Web 应用程序中,我也想在特定时间通过 Telegram Bot API 自动向我的电报频道发送一些消息。

例如,我想在这些日期发送我的一条消息:

2018/03/23, 2018/03/28, 2018/04/05

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

c# asp.net-mvc scheduler telegram
3个回答
2
投票

您应该看看 HangFire,它以 nuget 包形式提供,可能完美满足您的需求。

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

允许创建:

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

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

0
投票

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

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

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


0
投票

为什么要在 Asp.Net MVC 中实现相同的功能..?在 MVC 中,你无法安排任务,即使可以,但这不是正确的实现方式。

根据您的要求,您应该使用Windows服务,这将是您的需求实现的完美方法。

© www.soinside.com 2019 - 2024. All rights reserved.