.NET Core3.0如何创建Worker Services
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章给大家介绍.NET Core3.0如何创建Worker Services,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。.NET CORE 3.0新增了Worker Ser
千家信息网最后更新 2026年10月31日.NET Core3.0如何创建Worker Services
这篇文章给大家介绍.NET Core3.0如何创建Worker Services,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
.NET CORE 3.0新增了Worker Services的新项目模板,可以编写长时间运行的后台服务,并且能轻松的部署成windows服务或linux守护程序。如果安装的vs2019是中文版本,Worker Services变成了辅助角色服务。Worker Services 咱也不知道怎么翻译成了这个名称,咱也不敢乱翻译,下文就保持原名称。。。,本文将会演示如何创建一个Worker Services项目,并且部署为windows服务或linux守护程序运行;
开始创建worker service 项目
创建新项目--》选择辅助角色服务

项目创建成功之后,您会看到创建了两个类:Program和Worker。
Program.cs
public static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).ConfigureServices((hostContext, services) =>{services.AddHostedService(); });
Program类跟ASP.NET Core Web应用程序非常类似,不同之处没有了startup类,并且把worker服务添加到DI container中。
Worker.cs
public class Worker : BackgroundService{private readonly ILogger_logger; public Worker(ILoggerlogger) {_logger = logger;}protected override async Task ExecuteAsync(CancellationToken stoppingToken){while (!stoppingToken.IsCancellationRequested){_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);await Task.Delay(1000, stoppingToken);}}}
worker只是一个简单的类,它继承自BackgroundService ,而后者又实现IHostedService接口。
默认的worker演示,没隔1秒,循环打印运行的时间。
部署为Windows服务运行
1.在项目中添加nuget包:Microsoft.Extensions.Hosting.WindowsServices

2.然后在program.cs内部,将UseWindowsService()添加到CreateHostBuilder
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseWindowsService() .ConfigureServices((hostContext, services) => { services.AddHostedService(); }); 3.执行一下命令发布项目
dotnet publish -c Release -o C:\WorkerPub
4.然后使用sc.exe工具来管理服务,输入一下命令创建为windows服务
sc.exe create DemoWorkService binPath=C:\WorkerPub\WorkerService1.exe
查看服务状态使用一下命令
sc.exe query DemoWorkService
启动命令
sc.exe start DemoWorkService
在服务列表查看,DemoWorkService已安装成功
停用 、删除命令
sc.exe stop DemoWorkServicesc.exe delete DemoWorkService
部署作为Linux守护程序运行
部署linux守护程序也是很方便的执行一下两个步骤即可:
添加Microsoft.Extensions.Hosting.Systemd NuGet包到项目中,并告诉你的新Worker,其生命周期由systemd管理!
将UseSystemd()添加到主机构建器中。
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseSystemd() .ConfigureServices((hostContext, services) => { services.AddHostedService(); });
关于.NET Core3.0如何创建Worker Services就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
服务
项目
命令
程序
运行
成功
两个
内容
新项目
更多
角色
帮助
演示
管理
辅助
不同
不错
下文
主机
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州万易互联网科技有限公司
中关村互联网科技集团
科技平台互联网
鸠鸠互联网科技
互联网扶贫科技
金诺互联网科技
互联网中国科技
腾讯阿里互联网科技
齐家互联网科技
西安互联网科技公司
深圳艾佳互联网科技
互联网科技和法律行业
上海科技产业互联网平台
山东星卡互联网科技有限公司官网
启辰互联网科技
有人说阿里系是互联网科技企业
信承诺互联网科技有限公司
江苏互联网智能科技产品出厂价
互联网金融运营模式中的金融科技
互联网对科技影响
互联网科技公司华为
深圳科技互联网
互联网金融公司科技
卫星互联网科技股票
博兴的互联网电子科技公司
天速互联网络科技有限公司
新兴科技互联网创新大赛颁奖典礼
互联网科技实习生岗位
黑龙江互联网科技公司
株洲百竞科技的互联网营销顾问