内容简介:本文告诉大家如何通过 Microsoft.Extensions.Hosting.BackgroundService 开启后台任务实现 BackManagerService 类继承 BackgroundService 抽象类,请看代码然后打开 Startup.cs 在 ConfigureServices 方法注入
本文告诉大家如何通过 Microsoft.Extensions.Hosting.BackgroundService 开启后台任务
实现 BackManagerService 类继承 BackgroundService 抽象类,请看代码
public class BackManagerService : BackgroundService
{
/// <inheritdoc />
protected override Task ExecuteAsync(CancellationToken stoppingToken)
{
return Task.CompletedTask;
}
}
然后打开 Startup.cs 在 ConfigureServices 方法注入
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IHostedService, BackManagerService>();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
现在运行 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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法统治世界——智能经济的隐形秩序
徐恪、李沁 / 清华大学出版社有限公司 / 2017-11-15 / CNY 69.00
今天,互联网已经彻底改变了经济系统的运行方式,经济增长的决定性要素已经从物质资料的增加转变成为信息的增长。但是,只有信息的快速增长是不够的,这些增长的信息还必须是“有序”的。只有“有序”才能使信息具有价值,能够为人所用,能够指导我们实现商业的新路径。这种包含在信息里的隐形秩序才是今天信息世界的真正价值所在。经济系统的运行确实是纷繁复杂的,但因为算法的存在,这一切变得有律可循,算法也成为新经济系统里......一起来看看 《算法统治世界——智能经济的隐形秩序》 这本书的介绍吧!