将.NET应用转换成Window服务

写在前面

本文介绍了将.NET8.0应用程序转换成Windows服务。

需要在NuGet中获取并安装:Microsoft.Extensions.Hosting.WindowsServices 包

代码实现

using System.Runtime.InteropServices;
using WorkerService1;public class Program
{public static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args){var host = Host.CreateDefaultBuilder(args);//判断当前系统是否为windowsif (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)){host.UseWindowsService();}return host.ConfigureServices((hostContext, services) =>{services.AddHostedService<Worker>();});}
}

 

namespace WorkerService1
{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){if (_logger.IsEnabled(LogLevel.Information)){_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);}await Task.Delay(1000, stoppingToken);}}}
}

发布配置

 

 可以使用批处理安装服务:

@echo off 
@title 安装windows服务
@echo off 
echo= 安装服务!
@echo off  
@sc create worktest binPath= "%~dp0WorkerService1.exe"  
echo= 启动服务!
@echo off  
@sc start worktest 
@echo off  
echo= 配置服务! 
@echo off  
@sc config worktest start= AUTO  
@echo off  
echo= 成功安装、启动、配置服务!   
@pause

执行结果

 由于编码问题,中文出现了乱码,但是服务已经成功创建并配置为自动启动了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/345303.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

免费的数据恢复软件哪个好?这11个数据恢复软件可以试试

许多免费的数据恢复程序可以帮助恢复或“取消删除”您意外删除的文件。您已删除的文件通常仍存在于您的硬盘驱动器&#xff08;或 USB 驱动器、媒体卡、智能手机等&#xff09;上&#xff0c;并且可以使用数据恢复软件进行恢复。 11个数据恢复软件榜单 使用这些免费软件数据恢…

Nacos下载与安装【windows】

&#x1f95a;今日鸡汤&#x1f95a; 我不知将去何方&#xff0c;但我已经在路上。 ——宫崎骏《千与千寻》 目录 &#x1f95e;1.Nacosdi地址 &#x1f32d;2.GitHub下载 &#x1f37f;3.目录结构 &#x1f953;4.启动nacos &#x1f9c2;5.客户端登陆 &#x1f9c8…

kotlin运行

1.使用android studio 由于我本身是做android的&#xff0c;android studio本身有内置kotlin的插件。但若只是想跑kotlin的程序&#xff0c;并不像和android程序绑在一起&#xff0c;可以创建一个kt文件&#xff0c;在里面写一个main函数&#xff0c;就可以直接运行kotlin程序…

MathType绝对是我数学编辑的首选工具!

去年&#xff0c;微软曾说&#xff0c;要去掉Office里的公式编辑器&#xff0c;建议用户使用MathType编辑公式。目前Office用户可以到微软官网安装MathType的插件&#xff0c;现在免费使用&#xff0c;以后要收费。Word里安装这个插件以后&#xff0c;就会出现MathType的菜单。…

公考方法论

听课 B站或淘宝等平台搜索网课购买 行测 粉笔最便宜980网课 先做两套真题熟悉结构&#xff0c;听课做真题针对性加强 学习强国近三年的《理论热点面对面》 字迹田英章正楷 冲刺&#xff1a;粉笔app练习真题&#xff0c;每周两三套练手 笔迹端正很重要 申论 基本看字&#…

debian12部署Gitea服务

首先安装git、wget、sqlite&#xff0c;然后进行用户和组的相关设置 sudo apt install -y git wget sqlite3 新增一个git用户与一个git组 sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos Git Version Control git 给git用户设…

Linux 内核学习 2 - 用户程序如何被塞进内核进行调度?

Shell是系统的用户界面&#xff0c;提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。 fork里copy了父进程的信息&#xff0c;并激活task放到运行队列&#xff0c;当系统发生调度并获得执行机会时开始执行&#xff0c;但这时还不是hello程序…

yolov5口罩检测模型

1 项目背景及意义 全球范围内的公共卫生安全和人脸识别技术的发展。在面对新型冠状病毒等传染病的爆发和传播风险时&#xff0c;佩戴口罩成为一种重要的防护措施。然而&#xff0c;现有的人脸识别系统在识别戴口罩的人脸时存在一定的困难。 通过口罩识别技术&#xff0c;可以…

必看!2023年机器人领域十大事件!

原创 | 文 BFT机器人 2023年&#xff0c;机器人产业快速发展&#xff0c;成就了机器人领域的一个又一个里程碑。机器人行业涌现了许多令人瞩目的事件&#xff0c;实现了重大突破&#xff0c;展示了机器人技术在各个领域的广泛应用和革命性变革。 本文将对2023年机器人领域的十…

亚马逊测评怎么做?

亚马逊作为全球最大的跨境电商公司&#xff0c;吸引了很多的中国卖家入驻&#xff0c;行业的内卷也是越来越严重&#xff0c;很多做过国内电商的都知道测评可以提高产品权重&#xff0c;快速提升产品销量 而测评模式主要有两种&#xff1a; 真人测评 优点&#xff1a;老外手…

智能路由器中的 dns.he.net可使用自定义域名的免费 DDNS 服务配置方法

今天介绍的这个是可以使用自定义域名同时支持使用二级域名的免费DDNS服务 dns.he.net的动态DDNS服务的配置方法, 这个服务相对还是比较稳定的, 其配置也和其他的DDNS服务有些不太一样, 首先他的主机名: 这里需要设置为登录后分配的区域域名: ipv6.he.net 然后就是 DDNS 用户…

【LeetCode】203. 移除链表元素(简单)——代码随想录算法训练营Day03

题目链接&#xff1a;203. 移除链表元素 题目描述 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff…