用C#写一个在后台偷偷运行的服务

.NET
391
0
0
2022-03-29
标签   C#

用C#写一个在后台偷偷运行的服务都是套路

在上一篇文章《居然有一种默默无闻的程序叫服务》中,我们简单介绍了Windows服务。

今天我们用C#来写一个Windows的后台服务。完成服务的编写,编译,安装及启动,跑通Windows服务开发的基本套路。

编写一个服务

我们使用VS 2019,来编写服务:

用C#写一个在后台偷偷运行的服务打开VS->创建项目

用C#写一个在后台偷偷运行的服务找到服务->下一步

用C#写一个在后台偷偷运行的服务输入服务基本信息->创建

用C#写一个在后台偷偷运行的服务创建之后的文件列表

用C#写一个在后台偷偷运行的服务将服务重命名为MyService1

用C#写一个在后台偷偷运行的服务为服务添加安装模块

必须为服务添加安装程序,并且配置好服务的名称等基本信息,服务才能正常安装。

用C#写一个在后台偷偷运行的服务添加安装模块之后的文件列表

用C#写一个在后台偷偷运行的服务修改服务类型

用C#写一个在后台偷偷运行的服务修改相关服务类型

我们暂时使用LocalService,后面再为大家讲解其他类型的服务,以及不同服务之间的区别。

用C#写一个在后台偷偷运行的服务修改相关服务信息

用C#写一个在后台偷偷运行的服务修改相关服务信息

编译服务

用C#写一个在后台偷偷运行的服务右键->生成

右键我们的项目,点击生成即可

安装并启动服务

安装服务,我们需要使用到一个安装工具:installutil。这个工具在VS2019中已经默认安装了。

我们在VS2019中打开Power Shell:

用C#写一个在后台偷偷运行的服务

进入Debug目录:

用C#写一个在后台偷偷运行的服务

cd .\TestService\bin\Debug\

然后执行安装命令:

installutil .\TestService.exe

用C#写一个在后台偷偷运行的服务安装成功,并可以启动服务

用C#写一个在后台偷偷运行的服务安装成功,并可以启动服务

用C#写一个在后台偷偷运行的服务服务启动成功

服务卸载

卸载的命令,在安装的命令基础上,加上参数 /u 即可,命令为:

installutil .\TestService.exe /u

用C#写一个在后台偷偷运行的服务卸载服务

服务卸载成功之后,服务列表中,将看不到我们的服务了。

同时在卸载服务的时候,会自动停止服务。

感谢您看到这里!

如果您跟着我一步一步操作到这里,那么恭喜您,您已经走完了Windows服务开发的基本套路。

下期预告

服务进阶:

如何在服务中执行业务代码?

如何调试服务?

服务如何支持暂停/恢复?

以及其他服务的高级开发秘籍!

敬请期待。。。

下一篇文章《在服务中默默地执行C#业务代码》,欢迎检阅!