国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:9日期:2022-06-14 14:17:29

之前的文章已經(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ù)中的會(huì)顯示名字 options.ServiceName = 'NET6故里2130'; }).ConfigureServices(services =>{ services.AddHostedService<Worker>();}).Build(); host.Run();} }}

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

里面的業(yè)務(wù)就是,檢測(cè)啟動(dòng),停止,每次執(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ù)啟動(dòng)/// </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ù)啟動(dòng)!'); } 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.實(shí)際情況,我們肯定不是這么使用,但是這樣調(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.此時(shí)打開Windows服務(wù),看到已經(jīng)有了

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

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

標(biāo)簽: ASP.NET
主站蜘蛛池模板: 日韩男人的天堂 | 成人欧美视频在线观看播放 | 精品国产精品国产 | 99久久国产 | 亚洲精品欧美日韩 | 撸久久 | 亚洲精品99久久久久久 | 国产精品资源手机在线播放 | 亚洲精品亚洲一区二区 | 日韩a一级欧美一级 | 欧美一区二区三区gg高清影视 | 九九干| 国内自拍第五一页 | 成年女人毛片免费播放视频m | 中国美女乱淫免费看视频 | 国产成人a视频在线观看 | 久久99精品久久久久久 | 中国三级网站 | 欧美毛片一级的免费的 | 精品日韩欧美一区二区三区在线播放 | 黄a一级| 精品欧美日韩一区二区三区 | 中国一级毛片特级毛片 | 超薄肉色丝袜精品足j福利 超级乱淫视频aⅴ播放视频 | hdxxx色视频| 在线久久 | 国产成人精品无缓存在线播放 | 91久久精品国产亚洲 | 欧美成人免费观看久久 | 美女色黄网站 | 欧美三级香港三级日本三级 | 国产福利拍拍拍 | 国产精品成人免费综合 | 成人免费一区二区三区在线观看 | www.日本在线观看 | 亚洲国产激情在线一区 | 老司机精品福利视频 | 国产亚洲精品一品区99热 | 欧美日韩精品在线视频 | 美女视频免费黄的 | 久久国产精品影院 |