c# vs2019 Window服务搭建
一、创建一个Windows Service
我的IDE开发工具使用的是vs2019,和之前的vs版本不大相同,所有添加了详细的截图说明。
首先,选择新建项目,项目类型选择服务。

之后,选择Windows 服务(.NET Framework)

然后,修改项目名称,这里我们重命名为EmailService

然后点击创建,进行创建新项目。
二、创建服务安装程序
首先来看下新建好的程序目录

接下来,我们对Service1重命名,重命名为mEmailService

2.1 添加安装程序
然后点击mEmailService.cs,鼠标右键出弹窗,点击添加安装程序。

之后程序就会自动安装并出现以下文件,如·下图所示:

2.2 修改安装服务名
右键serviceInsraller1,选择属性,将ServiceName的值改为mEmailService。
属性中需要修改的项目如下图所示:

2.3 修改安装权限
右键serviceProcessInsraller1,选择属性,将Account的值改为LocalSystem。

三、写入服务代码
右键mEmailService,选择查看代码。也可以双击空白区域,也能出现代码区。

这时候会出现以下代码:
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Diagnostics;
6 using System.Linq;
7 using System.ServiceProcess;
8 using System.Text;
9 using System.Threading.Tasks;
10
11 namespace EmailService
12 {
13 public partial class mEmailService : ServiceBase
14 {
15 public mEmailService()
16 {
17 InitializeComponent();
18 }
19
20 /// <summary>
21 /// 服务启动代码
22 /// </summary>
23 /// <param name="args"></param>
24 protected override void OnStart(string[] args)
25 {
26 //TODO
27 }
28
29 /// <summary>
30 /// 服务停止代码
31 /// </summary>
32 protected override void OnStop()
33 {
34 //TODO
35 }
36 }
37 }
EmailService初始化代码
四、创建安装脚本
在项目中添加2个文件如下(必须是ANSI或者UTF-8无BOM格式):

4.1 安装脚本Install.bat 【注意对应关键字】

代码:
1 %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe %~p0EmailService.exe
2 Net Start mEmailService
3 sc config mEmailService start= auto
Install.bat 代码
4.2 卸载脚本Uninstall.bat 【注意对应关键字】

代码:
1 %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u %~p0EmailService.exe
Uninstall.bat 代码
4.3 安装脚本说明
第二行为启动服务。
第三行为设置服务为自动运行。
这2行视服务形式自行选择。
4.4 脚本调试
如果需要查看脚本运行状况,在脚本最后一行加入pause
5 以管理员身份CMD注册,避免没有操作权限

在命令行里定位到InstallUtil.exe所在的位置
命令:cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

安装服务命令
命令 :InstallUtil.exe Path\ZdwWindowsService.exe
其中 Path指路径
成功之后就可以在服务中看到你刚刚新建的服务了。

c# vs2019 Window服务搭建的更多相关文章
- C#编写window服务,一步一步(1)
Window服务是啥,这里就不废话了,如何用在哪里用也不废话了,这里我这篇文章只是详述了我在vs2012中创建window服务的经过,希望对你有所帮助. 另外:我在编写服务过程中参考了 Profess ...
- WPF Window 服务安装
一.安装服务 1.已管理员的身份启动CMD 2.输入 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 回车 3.输入 InstallUtil.exe ...
- Window服务初级教程以及log4net配置文件初始化
Window服务初级教程:http://www.jb51.net/article/48987.htm 另外,配置log4net这个日志功能的时候需要初始化,不然会报没有初始化的错误,而且初始化的节点应 ...
- C# 编写Window服务基础(一)
一.Windows服务介绍: Windows服务以前被称作NT服务,是一些运行在Windows NT.Windows 2000和Windows XP等操作系统下用户环境以外的程序.在以前,编写Wind ...
- C# 编写短信发送Window服务
我们做项目过程中,一般都会有发送短信的需求.最常见的就是户注册或者登录时发送短信验证码.不同类型的短信发送,我们都可以放到到一张短信表中,然后通过一个定时的作业去执行短信发送.而定时作业的执行,我们就 ...
- 自定义Window 服务
自定义window 服务 开发到使用的流程: 1.完成对应的代码之后(代码在底下),右键MyService.cs 添加安装程序 2.添加window服务安装程序打开Service1.cs[设计]页面, ...
- window服务创建
第一步:创建服务 第二步:在Service1.cs视图中 右键 选择”添加安装程序” 这里要注意几个细节 设置上面的属性 这两个分别有属性,具体网上查使用方式 3 实例代码编写 主要下面几个方法 pr ...
- ServiceStack.Hello——跨平台.net REST api服务搭建
ServiceStack.Hello--跨平台.net REST api服务搭建 自己创建: https://github.com/ServiceStack/ServiceStack/wiki/Cre ...
- WCFRESTFul服务搭建及实现增删改查
WCFRESTFul服务搭建及实现增删改查 RESTful Wcf是一种基于Http协议的服务架构风格, RESTful 的服务通常是架构层面上的考虑. 因为它天生就具有很好的跨平台跨语言的集成能力 ...
随机推荐
- 解决flutter 运行时:Waiting for another flutter command to release the startup lock...
执行 Flutter 包管理相关命令时有可能遇到 Waiting for another flutter command to release the startup lock... 这样的错误,可尝 ...
- Java反应式框架Reactor中的Mono和Flux
1. 前言 最近写关于响应式编程的东西有点多,很多同学反映对Flux和Mono这两个Reactor中的概念有点懵逼.但是目前Java响应式编程中我们对这两个对象的接触又最多,诸如Spring WebF ...
- java学习网站汇总
1.https://blog.csdn.net/qq_35571554/article/details/82759668 B+树原理漫画讲解2.https://blog.csdn.net/moakun ...
- PHP代码审计02之filter_var()函数缺陷
前言 根据红日安全写的文章,学习PHP代码审计审计的第二节内容,题目均来自PHP SECURITY CALENDAR 2017,讲完这个题目,会有一道CTF题目来进行巩固,外加一个实例来深入分析,想了 ...
- 基于Huggingface使用BERT进行文本分类的fine-tuning
随着BERT大火之后,很多BERT的变种,这里借用Huggingface工具来简单实现一个文本分类,从而进一步通过Huggingface来认识BERT的工程上的实现方法. 1.load data tr ...
- Linux就该这么学28期——Day02 2.1-2.3
本文记录必须掌握的Linux命令,部分内容引用自https://www.linuxprobe.com/basic-learning-02.html 工作中可使用https://www.linuxcoo ...
- 设计完美windbg断点
说到现场调试,断点是最重要的.通常,在生产环境中解决一个非常复杂的问题需要在本地.非生产环境中调试我自己的一台测试机器.我通常会调试有问题的进程或代码,以便更好地了解它是如何工作的,以及在我进入时需要 ...
- xshell选项卡不见了
最近使用xshell的时候发现建立多个选项卡的时候,因为没有选项卡,所以不能切换. 弄了好一会儿才弄出来 点击会话选项卡或者Ctrl + Shift + T可以调出来
- ubuntu20 使用命令安装 rabbitmq
安装 rabbitmq sudo apt-get install erlang-nox -y sudo apt-get update sudo apt-get install rabbitmq-ser ...
- 《流畅的Python》 第一部分 序章 【数据模型】
流畅的Python 致Marta,用我全心全意的爱 第一部分 序幕 第一章 Python数据模型 特殊方法 定义: Python解释器碰到特殊句法时,使用特殊方法激活对象的基本操作,例如python语 ...