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
   }
}
相关推荐
你的人类朋友2 小时前
【Node】单线程的Node.js为什么可以实现多线程?
前端·后端·node.js
iナナ3 小时前
Spring Web MVC入门
java·前端·网络·后端·spring·mvc
CoderYanger3 小时前
优选算法-双指针:2.复写零
java·后端·算法·leetcode·职场和发展
数据知道5 小时前
Go基础:用Go语言操作MongoDB详解
服务器·开发语言·数据库·后端·mongodb·golang·go语言
大鱼七成饱6 小时前
apache POI 万字总结:满足你对报表一切幻想
后端
数据知道7 小时前
Go基础:Go语言应用的各种部署
开发语言·后端·golang·go语言
数据知道9 小时前
Go基础:用Go语言操作MySQL详解
开发语言·数据库·后端·mysql·golang·go语言
种时光的人9 小时前
无状态HTTP的“记忆”方案:Spring Boot中Cookie&Session全栈实战
服务器·spring boot·后端·http
m0_4805026410 小时前
Rust 登堂 之 Cell 和 RefCell(十二)
开发语言·后端·rust
LunarCod10 小时前
Onvif设备端项目框架介绍
后端·嵌入式·c/c++·wsdl·rv1126·onvif