ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

.NET Core3.0-Worker Services

2019-12-05 21:01:28  阅读:276  来源: 互联网

标签:exe 服务 TimingWorkService Release sc Services Core3.0 NET


 .NET CORE 3.0新增了Worker Services的新项目模板,可以编写长时间运行的后台服务,并且能轻松的部署成windows服务或linux守护程序。

步骤:

1.创建项目:

 

创建成功后:

 

 

就只有2个类,与ASP.NET Core Web应用程序相比,Program类没什么改变 ,startup类消失了,并且把worker服务添加到DI container中。

worker类继承了BackgroundService

运行就可知道,每隔1秒打印一次

 

 

Windows服务部署

引用包  :Microsoft.Extensions.Hosting.WindowsServices -v3.0.0
然后在 program.cs加.UseWindowsService()

 

 然后我们再来发布项目:

第一步:

方法一:

 

 

 发布在自己想要的位置

方法二:

打开命令,先找到项目:cd  +项目路径

 

 

 然后: dotnet publish -c Release -o 加发布的地址--》

dotnet publish -c Release -o C:\WorkerPub\Release

  

 

 

 (主要,如果说找不到文件或者什么的,就是因为你没有先找到项目路径)

第二步:创建windows服务(使用sc.exe 工具)

sc .exe create 名称 binPath=可执行程序的路径    --》
sc .exe create TimingWorkService binPath=C:\WorkerPub\WorkerService1.exe

 

 

 成功之后,我们打开服务去查看:

打开命令:输入services.msc,可看真的成功了

 

查看服务状态(.exe 可以不要)

sc query TimingWorkService

 

 

 STATE状态是STOPPED说明停止状态

然后我们开启服务

sc start TimingWorkService

  

 

 

 STATE状态是START说明启动了,也可以查看一下

 

 

 测试后,执行停止,删除

sc.exe stop TimingWorkService
sc.exe delete TimingWorkService 

 

 

 执行成功后,服务里面也找不到了。找得到就说明没有成功

Linux守护程序运行 :

1.添加包:

Microsoft.Extensions.Hosting.Systemd NuGet

2. UseSystemd()加入到Program.cs

 

 

 

 

 

 

 

 

 

 

 

标签:exe,服务,TimingWorkService,Release,sc,Services,Core3.0,NET
来源: https://www.cnblogs.com/yueyongsheng/p/11991882.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有