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
}
}