C#创建和部署Windows Service程序
接下来这里我对Windows Service程序的创建、部署等方面做简单描述。
前言
这里首先有个问题,什么是Windows Service,也就是我们Windows服务。微软的官方定义是这样的:Microsoft Windows 服务(即以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。Windows服务能够随着我们主机开机而自动启动,不显示任何用户界面,可以对服务进行启动、停止、暂停、重启等,是一个后台进程。
通过下面的方法可以查看到我们计算机上面的服务:
1. 按【Win+R】打开运行窗口,键入 services.msc
命令,回车;
2. 在弹出的窗体中显示的列表中的即为Windows Service。
创建Windows Service应用程序
打开Visual Studio 2019进入创建新项目界面,选择 Windows 服务(.NET Framework)
类型项目,点击下一步进行创建新项目。
打开创建好的解决方案中的文件 Program.cs
,代码如下所示:
using System;namespace WindowsServiceDemo
{static class Program{/// <summary>/// 应用程序的主入口点。/// </summary>static void Main(){ServiceBase[] ServicesToRun;ServicesToRun = new ServiceBase[]{//这里添加注册需要执行的服务程序new Service1()};ServiceBase.Run(ServicesToRun);}}
}
这里我删除原来的 new Service1()
服务,添加一个 ServiceDemo()
的方法并创建方法,该方法代码如下:
using System.IO;
using System.ServiceProcess;namespace WindowsServiceDemo
{static class Program{/// <summary>/// 应用程序的主入口点。/// </summary>static void Main(){ServiceBase[] ServicesToRun;ServicesToRun = new ServiceBase[]{//这里添加注册需要执行的服务程序ServiceDemo()};ServiceBase.Run(ServicesToRun);}private static ServiceBase ServiceDemo(){StreamWriter streamWriter = new StreamWriter(@"E:\Demo.txt", true, System.Text.Encoding.Default);streamWriter.WriteLine("测试的Windows Service已经开始执行!");streamWriter.Flush();streamWriter.Close();return new ServiceBase();}}
}
选择 Release
解决方案配置[创建Windows Service建议用这种配置去生成项目],重新生成一下项目。
部署与卸载Windows Service
打开生成好的 Release
文件,复制 exe
后缀的文件路径及文件名以备用。
以管理员方式打开 Windows PowerShell
,执行命令 New-Service -Name "YourServiceName" -BinaryPathName <yourproject>.exe
,此时服务已经安装部署成功。如下所示:
此时我们即可以 前言 中所示的方式打开服务查看是否创建成功。如下截图所示,我们已经创建成功,但此时的Windows服务并未处于启动状态,还需要 单击右键→启动
来启动服务,也可以通过 单击右键→属性
的窗体中配置服务的运行状态,根据 ServiceDemo()
方法的程序运行结果,我们可以在 E:\Demo.txt
路径下找到 Demo.txt
文件,并且能看到里面已经添加了一行内容。
卸载Windows服务,可以通过在 Windows PowerShell
中输入命令 sc.exe delete "YourServiceName"
来卸载服务,这里需要注意的是卸载的服务需要处于停止运行状态。 此时回到服务会发现创建的服务已经不在列表中了。
这里还需要提示一下,在编写代码时,注册的服务方法中不要存在死循环,否则服务启动将会失败。
这里给你留下微软官网教程文档:安装和卸载服务.
C#创建和部署Windows Service程序相关推荐
- 用VS(c#)创建、调试windows service以及部署卸载
同事问到windows service的东东,现在整理一下,用c#如何创建一个windows service,以及如何调试.部署.卸载. 一.创建windows service 1. 打开VS2008 ...
- 【Visual Studio】Visual Studio 2019 创建 Windows 控制台程序 ( 安装 ‘使用 C++ 的桌面开发‘ 组件 | 创建并运行 Windows 控制台程序 )
文章目录 一.安装 C++ 桌面开发组件 二.创建并运行 Windows 控制台程序 一.安装 C++ 桌面开发组件 打开 Visual Studio Installer , 点击 " 修改 ...
- aws部署java应用_在 Elastic Beanstalk 上创建和部署 Java 应用程序 - AWS Elastic Beanstalk...
本文属于机器翻译版本.若本译文内容与英语原文存在差异,则一律以英文原文为准. 在 Elastic Beanstalk 上创建和部署 Java 应用程序 AWS Elastic Beanstalk 支持 ...
- aws部署php程序,在 Elastic Beanstalk 上创建和部署 PHP 应用程序 - AWS Elastic Beanstalk
AWS 文档中描述的 AWS 服务或功能可能因区域而异.要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门. 本文属于机器翻译版本.若本译文内容与英语原文存在差异,则一律以英文原文为准. 在 ...
- .NET开发Windows Service程序 - Topshelf
在实际项目开发过程中,会经常写一些类似定时检查,应用监控的应用.这类应用在windows平台通常都会写成window service程序. 在百度上搜索一下'c#开发windows service', ...
- C#开发Windows Service程序
Windows Service概念介绍 Windows Service,也称Windows服务,是32位Windows操作系统中一种长期运行的后台程序.它们长期后台运行,没有用户界面,默默无闻,但它们 ...
- [视频]用SQL Server Compact创建简单的Windows应用程序
今天下午录制了一段 SQL Server Compact 应用程序开发的入门视频,帮助园子里的朋友打开 SQL Server Compact 开发的大门. 技术等级:100 准备环境:Visual S ...
- 创建一个Windows Service应用程序
创建一个Windows Service应用程序 下载本文代码 见资源 正是由于.NET Framework的出现,才使你能够构建出在系统重新启动时自动运行的.无人参与的(unattended)应用程序 ...
- 【windows service】C# 创建Windows Service(Windows服务)程序
C# 创建Windows Service(Windows服务)程序 很多年前大概08年做了一个windows桌面程序推送邮件给用户的程序,然后通过windows 计划任务每隔N分钟重复执行. 今天闲暇 ...
最新文章
- Cent0S 7上的图形安装
- java反射机制详解_JAVA反射机制详解_JSP/Java编程_互联网开发技术网_传播最新的编程技术_php361.com...
- mysql8.0.17压缩包安装教程_mysql 8.0.16 压缩包安装配置方法图文教程
- linux ls命令无法执行,更新了个依赖程序,结果悲剧了,连ls命令都不能用,大神帮帮忙!...
- 2017乌鲁木齐ICPC: K. Sum of the Line(容斥)
- 云单元架构,如何赋能数字化转型呢?
- Geoserver+postSQL+openlayer实现路径规划
- 捷联惯导系统(SINS)机械编排
- Java Web开发后端常用技术汇总
- HTML5页面如何在手机端浏览器调用相机、相册功能
- 类似熊猫金花挖词的SEO查询工具包
- 云计算安全知识CCSK V4 知多少
- 文献标识码与参考文献
- Excel转PDF 一百行代码超简单
- AtCoder Grand Contest 021完整题解
- 局域网 git服务器 虚拟机,centos71虚拟机搭建git服务器
- 基于android的检测心率,基于Android系统的心率信息监测软件的研究与实现
- spring boot 设置 wagon 自动打包部署插件在 debug 模式下运行就不打包部署
- tp5使用monolog_使用Monolog记录:从Devtools到Slack
- .net高级技术(class0515)