navicat怎么添加check约束
247
2022-09-28
2019-8-31-ASP.NET-Core-开启后台任务
title | author | date | CreateTime | categories |
ASP.NET Core 开启后台任务 | lindexi | 2019-08-31 16:55:58 +0800 | 2019-3-9 15:18:2 +0800 | asp aspdotnetcore dotnetcore |
本文告诉大家如何通过 Microsoft.Extensions.Hosting.BackgroundService 开启后台任务
实现 BackManagerService 类继承 BackgroundService 抽象类,请看代码
public class BackManagerService : BackgroundService { ///
然后打开 Startup.cs 在 ConfigureServices 方法注入
public void ConfigureServices(IServiceCollection services) { services.AddSingleton
现在运行 ASP.NET Core 程序就可以看到调用进 ExecuteAsync 方法了
那么如何实现轮询?大概在30秒左右做某个任务?在没有用任何设计的情况,假如这个任务就放在了 BackManagerService 的 Foo 方法,可以通过下面代码调用
protected override async Task ExecuteAsync(CancellationToken stoppingToken) { while (!stoppingToken.IsCancellationRequested) { Foo(); await Task.Delay(TimeSpan.FromSeconds(30), stoppingToken); } }
通过 Task.Delay 的方法延迟指定的时间就可以了,那么更复杂的封装就在大佬们的封装变得更加好用,更多封装请看 Ron 大佬博客
所有代码放在 github
Asp.Net Core 轻松学-基于微服务的后台任务调度管理器 - Ron.Liang - 博客园
在 ASP.NET Core 中使用托管服务实现后台任务
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~