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
   }
}
相关推荐
阿正的梦工坊9 小时前
【Rust】02-变量、不可变性与基础类型
开发语言·后端·rust
我叫黑大帅10 小时前
通过php 中的Route:: 的写法了解什么是静态类调用
后端·面试·php
JS菌11 小时前
AI Agent 沙箱双层防护体系:从权限过滤到内核隔离的完整实现
前端·人工智能·后端
IT空门:门主12 小时前
Spring 注入三剑客:@Resource、@Autowired、@RequiredArgsConstructor 到底该用哪个?
java·后端·spring
ServBay12 小时前
云端 AI 蜜月期宣告结束,为什么 2026 年开发者转向本地优先架构
后端·ai编程
IT_陈寒12 小时前
Vite这个坑我帮你踩了,动态导入居然这样才生效
前端·人工智能·后端
Sam_Deep_Thinking12 小时前
Spring Boot 的启动原理是什么?
java·spring boot·后端
南部余额12 小时前
Spring WebClient 从入门到精通
java·后端·spring
摇滚侠12 小时前
Spring 零基础入门到进阶 基于注解管理 Bean 38-43
xml·java·后端·spring·intellij-idea
SamDeepThinking12 小时前
我们当年是如何真实落地BFF的?
java·后端·架构