真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

用.NETCore3.0實(shí)現(xiàn)WorkerServices的方法-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“用.NET Core3.0實(shí)現(xiàn)Worker Services的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“用.NET Core3.0實(shí)現(xiàn)Worker Services的方法”吧!

創(chuàng)新互聯(lián)建站專業(yè)成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文營銷等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。

.NET CORE 3.0新增了Worker Services的新項(xiàng)目模板,可以編寫長時(shí)間運(yùn)行的后臺服務(wù),并且能輕松的部署成windows服務(wù)或linux守護(hù)程序。如果安裝的vs2019是中文版本,Worker Services變成了輔助角色服務(wù)。Worker Services 咱也不知道怎么翻譯成了這個(gè)名稱,咱也不敢亂翻譯,下文就保持原名稱。。。,本文將會演示如何創(chuàng)建一個(gè)Worker Services項(xiàng)目,并且部署為windows服務(wù)或linux守護(hù)程序運(yùn)行;

開始創(chuàng)建worker service 項(xiàng)目

創(chuàng)建新項(xiàng)目——》選擇輔助角色服務(wù)

用.NET Core3.0實(shí)現(xiàn)Worker Services的方法

用.NET Core3.0實(shí)現(xiàn)Worker Services的方法

項(xiàng)目創(chuàng)建成功之后,您會看到創(chuàng)建了兩個(gè)類: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應(yīng)用程序非常類似,不同之處沒有了startup類,并且把worker服務(wù)添加到DI container中。


Worker.cs

public class Worker : BackgroundService
  {
    private readonly ILogger _logger;

    public Worker(ILogger logger)
    {
      _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只是一個(gè)簡單的類,它繼承自BackgroundService,而后者又實(shí)現(xiàn)IHostedService接口。

默認(rèn)的worker演示,沒隔1秒,循環(huán)打印運(yùn)行的時(shí)間。


用.NET Core3.0實(shí)現(xiàn)Worker Services的方法

部署為Windows服務(wù)運(yùn)行1.在項(xiàng)目中添加nuget包:Microsoft.Extensions.Hosting.WindowsServices

用.NET Core3.0實(shí)現(xiàn)Worker Services的方法

2.然后在program.cs內(nèi)部,將UseWindowsService()添加到CreateHostBuilder

public static IHostBuilder CreateHostBuilder(string[] args) =>
      Host.CreateDefaultBuilder(args)
       .UseWindowsService()
        .ConfigureServices((hostContext, services) =>
        {
          services.AddHostedService();
        });

3.執(zhí)行一下命令發(fā)布項(xiàng)目


dotnet publish -c Release -o C:\WorkerPub

用.NET Core3.0實(shí)現(xiàn)Worker Services的方法

4.然后使用sc.exe工具來管理服務(wù),輸入一下命令創(chuàng)建為windows服務(wù)

sc.exe create DemoWorkService binPath=C:\WorkerPub\WorkerService1.exe

用.NET Core3.0實(shí)現(xiàn)Worker Services的方法

查看服務(wù)狀態(tài)使用一下命令

sc.exe query DemoWorkService

用.NET Core3.0實(shí)現(xiàn)Worker Services的方法

啟動命令

sc.exe start DemoWorkService

用.NET Core3.0實(shí)現(xiàn)Worker Services的方法

在服務(wù)列表查看,DemoWorkService已安裝成功

用.NET Core3.0實(shí)現(xiàn)Worker Services的方法

停用 、刪除命令

sc.exe stop DemoWorkService 
sc.exe delete DemoWorkService

部署作為Linux守護(hù)程序運(yùn)行

部署linux守護(hù)程序也是很方便的執(zhí)行一下兩個(gè)步驟即可:

添加Microsoft.Extensions.Hosting.Systemd NuGet包到項(xiàng)目中,并告訴你的新Worker,其生命周期由systemd管理!

將UseSystemd()添加到主機(jī)構(gòu)建器中。

public static IHostBuilder CreateHostBuilder(string[] args) =>
  Host.CreateDefaultBuilder(args)
    .UseSystemd()
    .ConfigureServices((hostContext, services) =>
    {
      services.AddHostedService();
    });

到此,相信大家對“用.NET Core3.0實(shí)現(xiàn)Worker Services的方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


文章題目:用.NETCore3.0實(shí)現(xiàn)WorkerServices的方法-創(chuàng)新互聯(lián)
鏈接地址:http://weahome.cn/article/idech.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部