.NET Core3.0如何创建Worker Services
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家介绍.NET Core3.0如何创建Worker Services,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。.NET CORE 3.0新增了Worker Ser
千家信息网最后更新 2025年12月02日.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安全错误
数据库的锁怎样保障安全
快速学计算机网络技术
晶果网络技术
党校 软件开发人员是干什么的
2018河北省网络安全竞赛
2019网络安全大赛
新罗区佐晖网络技术工作室
sql数据库计算比例
网络存储服务器
数据库 正在恢复数据
医院软件开发公司有哪些
保密及网络安全宣贯总结
网站数据库建设
柒柒猫网络技术有限公司
软件开发要求规定
mysql数据库多少钱
跨境电商目前的网络安全网络
岳池租房软件开发
三人拼团软件开发
下载影像数据库
数据库中jion语法
csgo进不去安全服务器
博翔网络技术上海
语音聊天软件开发全网优惠
sadtler数据库
黄岛古口镇的软件开发公司
dm数据库导表命令
数据库课程设计系统功能分析
网络安全责任书 新闻报道
nod32 激活服务器
网络技术公司如何盈利