最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.NET6創(chuàng)建Windows服務(wù)的實現(xiàn)步驟

 更新時間:2023年06月19日 10:51:26   作者:故里2130  
本文主要介紹了.NET6創(chuàng)建Windows服務(wù)的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

之前的文章已經(jīng)寫過了創(chuàng)建Windows服務(wù)。

C#創(chuàng)建Windows服務(wù)

 不過之前使用的是.NET Framework創(chuàng)建的Windows服務(wù)。現(xiàn)在已經(jīng)2023年了,其中vs2022有新的方法去創(chuàng)建Windows服務(wù),本次使用.NET6創(chuàng)建Windows服務(wù)。

1.選擇如圖所示,其中vs2022這樣的,vs2019不一樣,但是都是worker service

2.創(chuàng)建完成是這樣的

3.安裝Microsoft.Extensions.Hosting.WindowsServices

這里注意版本,選擇的是net6,好像只能安裝6版本的。

 nuget里面安裝

4.服務(wù)命名,Program.cs文件

namespace WorkerServiceDemo
{
    public class Program
    {
        public static void Main(string[] args)
        {
            IHost host = Host.CreateDefaultBuilder(args)
                 .UseWindowsService(options =>
                 {
                     //給服務(wù)命名,在Windows服務(wù)中的會顯示名字
                     options.ServiceName = "NET6故里2130";
                 })
                .ConfigureServices(services =>
                {
                    services.AddHostedService<Worker>();
                })
                .Build();
            host.Run();
        }
    }
}

5.服務(wù)里面寫啟動,停止,以及執(zhí)行任務(wù),Worker.cs中寫

里面的業(yè)務(wù)就是,檢測啟動,停止,每次執(zhí)行任務(wù)都輸出

namespace WorkerServiceDemo
{
    public class Worker : BackgroundService
    {
        private readonly ILogger<Worker> _logger;
        private readonly string filePath = "D:\\Service1.txt";
        public Worker(ILogger<Worker> logger)
        {
            _logger = logger;
        }
        /// <summary>
        /// 執(zhí)行任務(wù)
        /// </summary>
        /// <param name="stoppingToken"></param>
        /// <returns></returns>
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            while (!stoppingToken.IsCancellationRequested)
            {
                _logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
                using (FileStream stream = new FileStream(filePath, FileMode.Append))
                using (StreamWriter writer = new StreamWriter(stream))
                {
                    writer.WriteLine($"{DateTimeOffset.Now},服務(wù)執(zhí)行!");
                }
                await Task.Delay(1000, stoppingToken);
            }
        }
        /// <summary>
        /// 服務(wù)啟動
        /// </summary>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public override Task StartAsync(CancellationToken cancellationToken)
        {
            using (FileStream stream = new FileStream(filePath, FileMode.Append))
            using (StreamWriter writer = new StreamWriter(stream))
            {
                writer.WriteLine($"{DateTime.Now},服務(wù)啟動!");
            }
            return base.StartAsync(cancellationToken);
        }
        /// <summary>
        /// 服務(wù)停止
        /// </summary>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public override Task StopAsync(CancellationToken cancellationToken)
        {
            using (FileStream stream = new FileStream(filePath, FileMode.Append))
            using (StreamWriter writer = new StreamWriter(stream))
            {
                writer.WriteLine($"{DateTime.Now},服務(wù)停止!");
            }
            return base.StopAsync(cancellationToken);
        }
    }
}

6.效果

7.實際情況,我們肯定不是這么使用,但是這樣調(diào)試肯定是可以的,接下來,我們安裝此服務(wù),變成Windows服務(wù)的樣子,首選先進(jìn)行發(fā)布

8.執(zhí)行此命令

sc.exe create "故里2130" binpath="D:\code\WorkerService1\WorkerServiceDemo\bin\Release\net6.0\publish\WorkerServiceDemo.exe"

9.此時打開Windows服務(wù),看到已經(jīng)有了

10.現(xiàn)在就和正常的服務(wù)一樣了,有開始,有停止,操作后,然后打開日志,可以看到服務(wù)的記錄。

到此這篇關(guān)于.NET6創(chuàng)建Windows服務(wù)的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān).NET6創(chuàng)建Windows服務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

株洲市| 宝清县| 达孜县| 枣阳市| 永寿县| 岑巩县| 墨玉县| 延寿县| 枣阳市| 灌阳县| 金门县| 蕉岭县| 蒙阴县| 瑞金市| 浮梁县| 鄂伦春自治旗| 囊谦县| 武穴市| 黑龙江省| 驻马店市| 武胜县| 镇平县| 金寨县| 长兴县| 佳木斯市| 尖扎县| 阳新县| 乌兰县| 靖江市| 永仁县| 平江县| 岚皋县| 义乌市| 罗江县| 宜阳县| 晋宁县| 务川| 龙海市| 昌都县| 巴彦淖尔市| 枣强县|