Visual Studio C#创建windows服务程序

  1. 选择一个windows服务程序创建 
  2.   命名一个项目名称
  3. 双击Service1.cs文件,然后鼠标右键添加安装程序
  4. 接下来,我们对服务做一些简单的配置,配置Account为LocalSystem,否则启动服务时需要输入账户和密码
  5. 设置启动服务名称
  6. 我们可以在OnStart执行我们需要的逻辑即可
  7. 设置完毕后,启动服务服务,因为此程序为windows服务程序,所以不能双击启动运行,需要借助InstallUtil.exe来启动我们自己开发的服务。
  • 以管理员身份运行cmd

  • 安装windows服务

    cd C:\Windows\Microsoft.NET\Framework\v4.0.30319(InstallUtil.exe的路径,注意InstallUtil.exe的版本号需要和项目的版本号相同)

  • 安装windows服务

    InstallUtil.exe "D:\VisualStudio Files\Web.Server.Api\Web.Server.Api\bin\Debug\Web.Server.Api.exe"

  • 启动windows服务

    net start TestServive(服务名称)

  • 卸载windows服务

    InstallUtil.exe /u D:\项目相关文件\MonitoringTEST\DialTest\bin\Debug\ProjectTest.exe

其中serviceInstaller中的属性名称释意(接第5项说明)

  • DelayedAutoStart(延迟自动启动):指定服务是否在启动时延迟一段时间后自动启动。如果启用了延迟自动启动,服务将在系统启动后相对较晚的时候启动。该属性是一个布尔值,默认为 false
  • Description(描述):指定服务的描述信息。描述信息通常用于说明服务的功能和用途。该属性是一个字符串类型。
  • DisplayName(显示名称):指定服务在 Windows 服务列表中显示的名称。显示名称是用户可见的服务名称,可以更加友好地描述服务的功能。该属性是一个字符串类型。
  • HelpText(帮助文本):指定服务的帮助文本信息。帮助文本可以提供更详细的关于服务的信息,以便用户能够了解服务的使用方式和特性。该属性是一个字符串类型。
  • Parent(父级):指定服务所属的父级服务。这可用于创建服务的层次结构。父级服务是另一个服务,它可以管理和控制子级服务。该属性是一个 ServiceInstaller 对象。
  • ServiceName(服务名称):指定服务的唯一标识名称。服务名称用于在代码中标识和访问服务。该属性是一个

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

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

相关文章

机器视觉技能培养:桥接学院与工业界的鸿沟

在当前的教育体系中,大学生往往缺乏直接参与机器视觉工作的机会。本文将探讨机器视觉学习的重要性,分析技术指导和实践项目的必要性。并提出一个全面的机器视觉学习路线图。 机器视觉及其在现代工业中的应用 机器视觉是指利用计算机视觉技术对图像进行自…

MySql常用函数之 convert()、str_to_date()、date_format()、to_base64()、from_base64()等使用介绍

一、convert() 1、将日期字符串转换为 date 类型 select convert(2024-01-06, date) from dual; 输出: 2024-01-06 2、将日期字符串转换为 datetime 类型 select convert(2024-01-06, datetime) from dual; 输出: 2024-01-06 00:00:00 3、将日期转换…

解决Docker报错问题:Docker Desktop – Unexpected WSL error

最近因为准备在NAS上通过Docker容器方式安装MYSQL,发现https://hub.docker.com网站被墙了,无法自动安装,同时又找不到靠谱的离线镜像,所以准备在Window上安装Docker,通过电脑的网络代理制作离线镜像再上传到NAS上。 在…

【温故而知新】JavaScript数据结构详解

一、概念 JavaScript是一种弱类型的编程语言,它提供了一些内置的数据结构来存储和组织数据。 在计算机科学中,数据结构是一种特定的方式来组织和存储数据,以便于有效地访问和修改数据。在JavaScript中,数据结构是指相互之间存在…

PTA——分支结构练习02 用if-else语句判断上课周和放假

本题需要用if-else语句判断上课周和放假:输入1-12范围的数字表示月份(month),若输入的月份是9-12和1时,输出“本学年上学期”;若输入的月份为2时,则输出“寒假!”;若输入…

【AIGC-图片生成视频系列-6】SSR-Encoder:用于主题驱动生成的通用编码器

目录 一. 贡献概述 二. 方法详解 a) 训练阶段 b) 推理生成阶段: 三. 综合结果 四. 注意力可视化 五. 选择性主题驱动图像生成 六. 人体图像生成 七. 可推广到视频生成模型 八. 论文 九. 个人思考 稳定扩散(Stable Diffusion)模型可…

python豆瓣实例,抓取多页数据-应用到知识点:随时数,xpath,间隔请求sleep

源代码: <!DOCTYPE html> <html lang="zh-CN" class="ua-windows ua-webkit"> <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="renderer" content=&q…

Calibre PEX Hspice Netlist提取步骤(数模芯片提取spice netlist流程)

在数模混合芯片中&#xff0c;通常模拟需要数字模块通过calibre工具来提取Hspice netlist用于功耗仿真。注意这里的spice netlist和做Calibre的spice netlist是不太一样的。 另外在做calibre pex时需要确保当前的design LVS已经pass。否则功耗仿真可能会不准。 Calibre LVS常…

八. 实战:CUDA-BEVFusion部署分析-spconv原理

目录 前言0. 简述1. 举例分析spconv的计算流程2. 导出带有spconv网络的onnx需要考虑的事情总结下载链接参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》&#xff0c;链接。记录下个人学习笔记&#xff0c;仅供自己参考 本次课程我们来学习下课程第八章——实战&a…

【数据库原理】(13)视图的使用

文章目录 一.定义和删除视图1.建立视图2.删除视图 二.查询视图视图查询的基本操作视图查询的内部机制查询转换的注意事项视图查询的限制 三.更新视图1.插入视图数据2.删除视图数据3.修改视图数据可更新性的限制 视图&#xff08;View&#xff09; 是一种虚拟的表&#xff0c;它…

Next.js 第一次接触

因为需要整个漂亮的在线文档&#xff0c;所以接触了next.js&#xff0c;因为对前端js本身不够熟悉&#xff0c;别说对react.js 又不会&#xff0c;时间又不允许深入研究&#xff0c;所以&#xff0c;为了加一个导航菜单&#xff0c;极其痛苦。 有点小bug&#xff0c;不过不影响…

学习笔记:C++之 switch语句

Switch语句 作用&#xff1a;执行多条件分支语句 语法&#xff1a; switch&#xff08;表达式&#xff09;{ case 结果1&#xff1a;执行语句&#xff1b;break&#xff1b; case 结果2&#xff1a;执行语句&#xff1b;break&#xff1b; ... default&#xff1a;执行语句&a…

Golang leetcode142 环形链表 暴力map 快慢指针法

文章目录 环形链表 leetcode142暴力遍历 map哈希记录快慢指针法 环形链表 leetcode142 该题目要求找到入环的第一个节点 我们可以通过map进行记录&#xff0c;没到新的节点查询是否经过原有节点 入环节点&#xff0c;上两个节点的next相同 若有入环节点&#xff0c;则一定能检…

如何用python实现一个简单的单向链表?

实现一个简单的单向链表涉及两个基本的构建块&#xff1a;节点&#xff08;Node&#xff09;和链表&#xff08;LinkedList&#xff09;。下面是详细步骤和解释&#xff1a; 1. 实现节点&#xff08;Node&#xff09; 链表中的每个节点通常包含两部分&#xff1a;存储的数据&…

Flutter 图片和资源的高效使用指南

文章目录 指定资源什么是 [pubspec.yaml](https://dart.cn/tools/pub/pubspec) 文件 图片图片常用的配置属性加载本地图片通过 pubspec.yml 文件进行配置图片目录使用 Image.asset 小部件加载本地图片 加载网络图片通过 Image.network小部件加载网络图片&#xff1a;使用Image.…

LeCode:(606. 根据二叉树创建字符串)

题目链接 本体的难点&#xff1a; 什么时候去打印左右括号&#xff1f;什么时候省略&#xff1f; 解题过程&#xff1a;通过观察看到&#xff0c;每次遍历结点之前&#xff0c;打印了一个左括号&#xff1b;遍历到叶子&#xff0c;叶子的左右也要打印出括号来&#xff08;先…

linux虚拟机环境快速搭建redis5.x版本的主从集群总结

原创/朱季谦 我在阿里云服务器上曾参与过公司redis集群的搭建&#xff0c;但时间久了&#xff0c;都快忘记当时的搭建过程了&#xff0c;故而决定在虚拟机centOS 7的环境&#xff0c;自行搭建一套redis5.x版本的集群&#xff0c;该版本集群的搭建比较方便&#xff0c;不用再像…

实现电子邮件自动化的实用技巧与指南

如何实现电子邮件自动化&#xff1f;一般可以通过规则和过滤器、自动回复、定时发送、快捷键和模板、团队邮箱等方法来实现。 一、什么是电子邮件自动化 电子邮件自动化是一种根据特定条件在适当时机发送正确信息的过程。这些条件可以是时间表、触发器或在您的电子邮件自动化工…

AVL树介绍以及代码实现

二叉搜索树的查找和删除虽然最优情况下能够做到 O(logN) 的级别&#xff0c;但是在一些特殊情况下&#xff0c;它的查找速度只能到达 O(N)级别&#xff0c;比如数据按顺序插入&#xff0c;那么就一定是一棵单边树。 为了针对这种情况&#xff0c;俄罗斯的两位数学家&#xff1a…

android 倒计时控件

效果&#xff1a;&#xff08;可不设置 之前、之后文字&#xff09; /*** 倒计时秒数** desc : 时分秒倒计时view* * 布局里引用后&#xff0c;* private fun testMethod(){* binding.test.setCDownStarText("之前的文字")* binding.test.setCDo…