.NET Freamework 创建windows 服务

news/2024/12/24 11:36:31/文章来源:https://www.cnblogs.com/duwenlong/p/18627046

使用.NET Freamework 创建windows 服务

今天有需求需要新写一个windows 服务,发现资料找不到了。顺着模板一点一点写,需要对照微软的资料。这里自己重新整理一份,由于不需要使用跨平台,所以我还是使用.NET Framework 4.8下的windows 服务。微软文档地址如下:

如何:创建 Windows 服务 - .NET Framework | Microsoft Learn

使用模板创建Windows 服务

打开vs 新建项目,选择windows 服务=》创建。

在创建成功的项目上打开解决方案资源管理器。找到Service1.cs打开属性面板。

serviceArgs.png

ServiceName 可以修改为自己想起的名字,这个是用于显示在服务里面的。

点击下面的添加安装程序。在左侧弹出的面板中选择serviceProcessInstanller1 点击右键属性,选择Account 设置不同的权限,因为我只是做进程守护,没有高权限需求,所有我选择User。选择面板如下图,选择Account设置没有截图。

install.png

在左侧弹出面板中选择serviceInstaller1点击右键属性,选择StartType,我选择了服务自动启动。

starttype.png

以上设置就完成了基本设置,我们开始编写服务里面的一些简单内容。然后开始进行安装操作。

安装分为安装包打包安装和测试环境安装,文档如下:

如何:安装和卸载 Windows 服务 - .NET Framework | Microsoft Learn

使用 PowerShell 安装


  1. 从“开始”菜单中,搜索“Windows PowerShell”,然后选择它。

  2. 导航到你的项目的已编译可执行文件所在的目录。

  3. 运行 New-Service cmdlet,并将一个服务名称和你的项目的可执行文件作为参数:

     New-Service -Name "YourServiceName" -BinaryPathName <yourproject>.exe//示例 New-Service -Name "TestService" -BinaryPathName C:\Codes\Service\TestService\bin\x64\Debug\TestService.exe
    

打开任务管理器左侧最下面的服务中就可以看到对应的服务。

使用 PowerShell 卸载


Remove-Service -Name "YourServiceName"
//示例 Remove-Service -Name "TestService"
sc.exe delete "AISharingService"

打包等一些后续操作需要签名、目录签名等认证方式,不同的安装不一样,所以这一部分不写了。哈哈哈但是都是文档里面的。可以自己翻一下。

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

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

相关文章

国内外10大知名项目进度跟踪工具对比分析

在当今竞争激烈的商业环境中,项目的成功交付离不开高效的项目进度跟踪工具。无论是大型企业的复杂项目,还是小型团队的敏捷开发,合适的工具都能起到事半功倍的效果。今天,我们将深入对比分析国内外 10 大知名项目进度跟踪工具,包括 Jira、Trello、Asana、Redmine、禅道、M…

【数据库开发】探索数据库智能运维之数据库关键运行指标

随着金融业务转型步伐加快、业务连续性要求趋严,对金融业信息系统运行的稳定性要求日益提升。数据库作为信息系统中关键技术基础,如何应用数据库海量运行数据,提升运行指标数据观测性,及时发现数据库运行潜在风险,是G行数据库管理团队一直探索的课题。 数据库管理团队负责…

*动手学AI辅助编程* 学习笔记day1

按照教程的步骤走,小白也能很快用ai做出自己的小玩意 本次使用的平台是豆包的marscode,非常好用,很轻便,不需要自己安装环境。 新手友好,甚至超越cursor教程链接:Datawhale-AI活动 平台链接:豆包 MarsCode - 工作台 学习成果:

【GO应用】编译时插桩,Go应用监控的最佳选择

阿里妹导读 本文讲解了阿里云编译器团队和可观测团队为了实现Go应用监控选择编译时插桩的原因,同时还介绍了其他的监控方案以及它们的优缺点。 可观测性是以系统的指标、日志、链路追踪、持续剖析四大数据支柱为基础,从宏观到微观,通过不同数据之间互相关联,衍生出如数据监…

USACO计算机竞赛2024-2025即将开考 报名方式、考点内容全解析

USACO计算机竞赛2024-2025即将开考 报名方式、考点内容全解析USACO竞赛已经有30多年举办历史,吸引了全球众多计算机编程爱好者参赛,且比赛门槛低,中小学都可以参赛!如果学生有足够的算法能力,那么很有可能在USACO竞赛中拿到名次,助力名校申请。 查看以往MIT录取学生简历,…

elasticsearch修改Ik分词器源码实现基于MySQL更新分词

本文主要记录如何修改Ik分词器源码来实现基于MySQL数据库更新分词,所有步骤均为本人实际操作验证。如果你也刚好刷到这篇文章,希望对你有所帮助。 使用过Ik分词器的应该都知道,它提供了三种配置热词词库的方式:Ik内置词库 Ik外置静态词库 Ik远程词库 具体可以去看Ik的配置文…

从家电的“大成”到汽车的“认怂”,苏峻的工业设计追梦之路

孕育三年八个月,iCAR V23是苏峻进入汽车产业的第一个“孩子”,12月16日带着明星气质呱呱落地。 很巧,苏峻的上一个创业项目——米家空气净化器,落地正好十周年。和净化器一经面试即大成相比,iCAR V23上市后,苏峻的第一次发声,却是认错的内容——V23上市后,第一时间听取…

Vue2环境中AntDeisgn1.x的树形下拉选择组件

示例相关代码 <a-tree-selectv-model="type"show-searchstyle="width: 100%":dropdown-style="{ maxHeight: 400px, overflow: auto }"placeholder="请选择"allow-clear:tree-data="treeData":filter-tree-node="fi…

Linux 虚拟机重启找不到IP解决方案

@目录前言简介Linux 操作系统查看不到IP地址问题描述:第一步 :修改配置第二步 :查看ip第三步 :查看网卡第四步 :重启网络‌Linux 网络服务重启失败解决办法问题描述:第一步:查看NetworkManager的状态第二步:停止NetworkManager第三步:重启Network第四步:禁用NetworkM…

浏览器连续循环数据打印分页时分割模块问题

css设置@media print识别打印容器,给独立块元素(不想被分割的class添加 page-break-inside: avoid; 避免在元素内部进行分页 ),如下: -- 这样遇到一页纸不够放的时候不会分割 print-wrap 这个元素,自动换行到下一页~ @media print { .printChild { width: 100%;…

BERT的继任者ModernBERT:融合长序列处理、代码理解与高效计算的新一代双向编码器

BERT 发布于 2018 年(从人工智能发展速度来看已是遥远的过去),但它至今仍在广泛使用:实际上它目前是 HuggingFace hub 上下载量第二高的模型,月下载量超过 6800 万次,仅次于另一个针对检索任务优化的编码器模型。这源于其编码器架构在处理日常实际问题方面表现出色,例如…