亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用.NET Core3.0實現Worker Services的方法

發布時間:2021-03-03 17:55:15 來源:億速云 閱讀:191 作者:TREX 欄目:開發技術

本篇內容主要講解“用.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 項目

創建新項目——》選擇輔助角色服務

用.NET Core3.0實現Worker Services的方法

用.NET Core3.0實現Worker Services的方法

項目創建成功之后,您會看到創建了兩個類: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<Worker>();
        });

Program類跟ASP.NET Core Web應用程序非常類似,不同之處沒有了startup類,并且把worker服務添加到DI container中。

Worker.cs

public class Worker : BackgroundService
  {
    private readonly ILogger<Worker> _logger;

    public Worker(ILogger<Worker> 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只是一個簡單的類,它繼承自BackgroundService,而后者又實現IHostedService接口。

默認的worker演示,沒隔1秒,循環打印運行的時間。

用.NET Core3.0實現Worker Services的方法

部署為Windows服務運行1.在項目中添加nuget包:Microsoft.Extensions.Hosting.WindowsServices

用.NET Core3.0實現Worker Services的方法

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

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

3.執行一下命令發布項目

dotnet publish -c Release -o C:\WorkerPub

用.NET Core3.0實現Worker Services的方法

4.然后使用sc.exe工具來管理服務,輸入一下命令創建為windows服務

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

用.NET Core3.0實現Worker Services的方法

查看服務狀態使用一下命令

sc.exe query DemoWorkService

用.NET Core3.0實現Worker Services的方法

啟動命令

sc.exe start DemoWorkService

用.NET Core3.0實現Worker Services的方法

在服務列表查看,DemoWorkService已安裝成功

用.NET Core3.0實現Worker Services的方法

停用 、刪除命令

sc.exe stop DemoWorkService 
sc.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<Worker>();
    });

到此,相信大家對“用.NET Core3.0實現Worker Services的方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扬州市| 融水| 五常市| 临沧市| 贵南县| 遂平县| 宁城县| 绥江县| 金坛市| 崇州市| 绥滨县| 宜都市| 张家港市| 镇雄县| 娱乐| 诸暨市| 民县| 平果县| 罗定市| 亚东县| 大港区| 青州市| 汨罗市| 醴陵市| 穆棱市| 泰顺县| 中宁县| 天水市| 灵丘县| 金昌市| 玛沁县| 株洲市| 长海县| 会泽县| 竹溪县| 金秀| 禹州市| 乐亭县| 余江县| 南皮县| 凤台县|