【如何在ASP.Net Core中使用 IHostedService的方法】执行自动服务运行

如何在ASP.Net Core中使用 IHostedService的方法】执行自动服务运行

1.首先再服务层创建一个服务 MyFirstHostedService

csharp 复制代码
using Microsoft.Extensions.Hosting;
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
namespace HostedServicesApp
{
  public class MyFirstHostedService : BackgroundService
  {
    protected async override Task ExecuteAsync(CancellationToken token)
    {
      while (!token.IsCancellationRequested)
      {
        await Log();
        await Task.Delay(1000, token);
      }
    }
    private async Task Log()
    {
      using (StreamWriter sw = new StreamWriter(@"D:\log.txt",true))
      {
        await sw.WriteLineAsync(DateTime.Now.ToLongTimeString());
      }
    }
  } 
}

2.需要在.net core的Startup类文件中将刚刚创建的服务进行注册即可

具体如下:

csharp 复制代码
  public void ConfigureServices(IServiceCollection services)
  {
    services.AddHostedService<MyFirstHostedService>();
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
  } 

即可就实现了,即使当前是一个api接口,也可以实现自动执行某项任务

结果如下:

相关推荐
Java内核笔记18 小时前
Spring Boot 4 拥抱 Jackson 3:包名迁移、配置改名与自动配置源码剖析
java·后端
Hamm19 小时前
前端转Java+AI全栈?那我推荐几个实战开源项目给你
前端·后端·全栈
凤山老林19 小时前
Spring Boot 定时任务进阶:动态 Cron 与集群防重实战
java·spring boot·后端·定时任务·集群定时任务
站大爷IP20 小时前
被 `asyncio.gather` 和 `wait` 坑惨了:异常处理的天壤之别
后端
张龙68720 小时前
Docker 镜像瘦身实战:从 1.2GB 到 128MB,我踩过的 7 个坑和一套可复制的方法论
运维·后端·docker
lizhongxuan21 小时前
工程技术:在智能体优先的世界中利用 Codex(转)
后端
程序员cxuan1 天前
Pi + DeepSeek-v4-Flash,这用着也太爽了。
人工智能·后端·程序员
进击的程序猿~1 天前
Go Interface源码深度解析指南
开发语言·后端·golang
qo_tn1 天前
微信机器人-webhook技术文档_04-Docker-Compose部署与生产化配置
后端
程序员cxuan1 天前
Claude Opus 5 的系统提示词被扒出来了
人工智能·后端·程序员