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 的服务通常是架构层面上的考虑. 因为它天生就具有很好的跨平台跨语言的集成能力 ...
随机推荐
- Java基础一篇过(一)反射
一.反射是个啥 定义 : 在运行状态中动态获取的类的信息以及动态调用对象的方法,这种功能称为java语言的反射机制. 对于任意一个类,都能够知道这个类的所有属性和方法. 对于任意一个对象,都能够调用它 ...
- [阅读笔记]Attention Is All You Need - Transformer结构
Transformer 本文介绍了Transformer结构, 是一种encoder-decoder, 用来处理序列问题, 常用在NLP相关问题中. 与传统的专门处理序列问题的encoder-deco ...
- 神作!阿里首发并发编程神仙笔记,Github已星标92K
Qzone 微信 神作!阿里首发并发编程神仙笔记,Github已星标92K JAVA超神编程 2020-09-23 21:04:06 JVM 无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎 ...
- JDK动态代理详解
JDK动态代理是代理模式的一种,且只能代理接口.spring也有动态代理,称为CGLib,现在主要来看一下JDK动态代理是如何实现的? 一.介绍 JDK动态代理是有JDK提供的工具类Proxy实现的, ...
- netty第一讲 创建
1.新建一个maven项目 https://blog.csdn.net/yanghaibobo110/article/details/73835469 2.netty是什么玩意 官方那个给出的介绍是 ...
- idea查询类的继承关系图
方式一:在一个类中,鼠标右键: 结果如下图所示: 方式2:在一个类中 结果如图:
- springboot项目根据不同的环境启动不同的配置,如开发环境dev,测试环境sit,生产环境application
在项目开发中,会有多个环境,如在开发环境开发完,然后在测试环境测试,最后到生产环境,每个环境的配置是不一样的,如数据库配置:还好spring提供了一个管理配置的方式:
- Linux设置主机名称与host映射
uname -n :查看host对应的域名 2.在 /etc/hostname 删除原来的重新配置需要的域名 3.在 /etc/hosts 中添加域名和映射ip 4.重启系统 5.其他主机 ...
- 063 01 Android 零基础入门 01 Java基础语法 08 Java方法 01 无参无返回值方法
063 01 Android 零基础入门 01 Java基础语法 08 Java方法 01 无参无返回值方法 本文知识点:无参无返回值方法 无参无返回值方法 案例 为什么使用方法?--方便复杂问题调用 ...
- JavaCV FFmpeg H264编码
上次成功通过FFmpeg采集摄像头的YUV数据,这次针对上一次的程序进行了改造,使用H264编码采集后的数据. (传送门) JavaCV FFmpeg采集摄像头YUV数据 采集摄像头数据是一个解码过程 ...