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
   }
}
相关推荐
jktantan3 分钟前
注解式脱敏:用 Jackson 的 ContextualSerializer 做字段级策略(一)
spring boot·后端·算法·spring cloud·系统架构
独泪了无痕9 小时前
探索Pinyin4j-Java中的拼音转换利器
java·后端
码事漫谈9 小时前
从 Coze 居然要下线了说起
后端
想不到一个好的ID10 小时前
智能体开发
后端
皮皮林55110 小时前
为什么数据库连接池不采用 IO 多路复用?
后端
IT_陈寒14 小时前
Redis雪崩把我坑惨了,这是5年经验的教训
前端·人工智能·后端
量化分析码农14 小时前
【Python量化多因子实战 06】从因子到持仓:多因子选股实盘工程化落地
后端
贾公子14 小时前
检测链路的容量规划——用 Little's Law 算清 QPS、并发与积压
后端·python
kyson_14 小时前
Java 集合框架:从继承体系到数据结构,再到开发选型
后端
想不到一个好的ID15 小时前
什么是RAG
后端