在我当前的项目中,需要安排一个方法以设定的时间间隔运行,例如每周一次,目前这是通过 Windows 服务创建 HttpClient 并点击所需的控制器方法来完成的。
我想知道这是否可以在 Web Api 项目本身中实现自动化,而不是使用外部服务。到目前为止,我还没有找到任何有关执行此操作的文档。
很抱歉没有代码示例可供使用,因为我还没有找到开始的基础。
如果您需要安排后台任务每周运行,您可以使用流利调度器 https://github.com/jgeurts/FluentScheduler (NuGet 链接 https://www.nuget.org/packages/FluentScheduler/)为您运行它。你可以这样做:
public class WeeklyRegistry : Registry
{
public WeeklyRegistry()
{
Schedule<WeeklyTask>().ToRunEvery(1).Weeks(); // run WeeklyTask on a weekly basis
}
}
public class WeeklyTask : IJob
{
public void Execute()
{
// call the method to run weekly here
}
}
Update新版本的流利调度器 https://github.com/jgeurts/FluentScheduler稍微改变了API。该任务现在应该源自 IJob,而不是 ITask。更新了我的示例以反映这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)