ASP.NET Core学习——IHostService

ASP.NET Core学习之IHostService

作用

IHostedService 用于启动和停止后台服务。它通常用于实现后台任务、定时任务或任何需要在应用程序生命周期内运行的长期任务。

生命周期

IHostedService 的生命周期是与应用程序的生命周期相匹配的。它会在应用启动时启动,并在应用关闭时停止。它是一个持久的后台服务,与应用请求的生命周期无关。

使用场景

处理定时任务。

长时间运行的任务或异步作业。

例如,后台工作者线程、消息队列的监听、定时事件等。

Demo

比如,在你的ASP.NET Core程序中,除原有的web api接口外,需要另外开启一个TCP Server,该服务在整个程序运行过程中都保持通讯,则可以使用。

csharp 复制代码
public class TcpHostService : IHostedService
{
   public async Task StartAsync(CancellationToken cancellationToken)
   {
       try
       {
       		//在这里可以启动一个TCP Server
       }
       catch(Exception ex)
       {
           Log.Fatal("TcpHostService" + ex.ToString());
       }
   }

   public async Task StopAsync(CancellationToken cancellationToken)
   {
       		//在这里可以释放一个TCP Server
   }
}
相关推荐
IT_陈寒9 分钟前
JavaScript 2024:10个颠覆你认知的ES新特性实战解析
前端·人工智能·后端
孫治AllenSun28 分钟前
【Springboot】介绍启动类和启动过程
java·spring boot·后端
绝无仅有29 分钟前
面试之MySQL基础和事务实战经验总结与分享
后端·面试·github
程序员爱钓鱼31 分钟前
Go语言实战案例 — 工具开发篇:Go 实现二维码生成器
后端·google·go
绝无仅有31 分钟前
面试经验之MySQL 锁与索引实战总结分享
后端·面试·github
程序员码歌8 小时前
明年35岁了,如何破局?说说心里话
android·前端·后端
橙*^O^*安8 小时前
Go 语言基础:变量与常量
运维·开发语言·后端·golang·kubernetes
工程师小星星8 小时前
Golang语言的文件组织方式
开发语言·后端·golang
哈喽姥爷9 小时前
Spring Boot---自动配置原理和自定义Starter
java·spring boot·后端·自定义starter·自动配置原理
舒一笑10 小时前
为什么where=Version就是乐观锁了?
后端·mysql·程序员