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
   }
}
相关推荐
用户99045017780092 分钟前
ruoyi-vue2集成DMN规则引擎实现Dish出餐决策
后端
IT_陈寒33 分钟前
SpringBoot 3.2 实战:用这5个新特性让你的API性能提升40%
前端·人工智能·后端
五仁火烧41 分钟前
安装rust开发环境
开发语言·后端·rust
IT枫斗者1 小时前
Netty的原理和springboot项目整合
java·spring boot·后端·sql·科技·mysql·spring
Java程序之猿1 小时前
Springboot 集成apache-camel +mqtt 根据主题处理mqtt消息
java·spring boot·后端
serendipity_hky1 小时前
【go语言 | 第3篇】go中类的封装、继承、多态 + 反射
开发语言·后端·golang·反射
悟空码字1 小时前
SpringBoot 整合 ElasticSearch,给搜索插上“光速翅膀”
java·后端·elasticsearch
星浩AI2 小时前
手把手教你用 RAG 打造专属知识库问答系统
后端
喵个咪2 小时前
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:深度解析 Wire 依赖注入集成实践
后端·go
回家路上绕了弯2 小时前
代码的三大核心素养:如何同时兼顾可维护性、可扩展性、可测试性
分布式·后端