Windows服务开发知识学习实践步骤
(1)在Visual Studio 创建项目时,选择创建Windows服务项目模板
(2)项目创建成功后的界面如下图。项目会自动生成一个Service1.cs文件,我们可以对他重命名FirstService.cs
点击添加安装程序后,右侧解决方案出现了ProjectInstaller.cs,双击该文件,可看到它由两个文件构成:
(3)点击serviceInstaller1文件,在右下角属性框修改如下几个属性信息:
- ServiceName:服务名称
- Description:描述
- Display Name:显示名称
- StartType:启动类型,可以设置为手动或自动
点击serviceProcessInstaller1文件,在右下角属性框修改Account信息:指示用来运行此服务的账户类型,可以设置为LocalSystem
(4)这样,以上创建widows服务前置操作已基本完成。查看FirstService.cs源码,可以看到OnStart()和OnStop()方法需要我们重写:
(5)重写OnStart()和OnStop()方法
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.IO; using System.Linq; using System.ServiceProcess; using System.Text; using System.Threading.Tasks; namespace WindowsServiceStudy { public partial class FirstService : ServiceBase { public FirstService() { InitializeComponent(); } protected override void OnStart(string[] args) { WriteInfo("记录服务启动"); } protected override void OnStop() { WriteInfo("记录服务关闭"); } private string filePath = @"D:\个人文档资料\1-实际实践记录\1-windowsservice\ServiceLog.txt"; private void WriteInfo(string info) { using (FileStream stream = new FileStream(filePath, FileMode.Append)) { using (StreamWriter writer = new StreamWriter(stream)) { writer.WriteLine($"{DateTime.Now},{info}"); } } } } }
(6)保存---清理---重新生成。
此时在项目bin文件夹下会生成刚刚的.exe文件
双击该文件,提示报错:
(7)通过InstallUtil.exe执行自开发的Windows服务的.exe文件安装
在如下地址找到InstallUtil.exe文件:
以管理员权限打开cmd,在命令框内使用命令: InstallUtil 后跟自开发服务的.exe文件的绝对地址
如命令:installutil D:\个人文档资料\1-实际实践记录\1-windowsservice\WindowsServiceStudy\bin\Debug\WindowsServiceStudy.exe
若是卸载: installutil D:\个人文档资料\1-实际实践记录\1-windowsservice\WindowsServiceStudy\bin\Debug\WindowsServiceStudy.exe -u
执行过程、结果如下图:
打开服务界面,可以看到服务已安装上:
另外,要特别注意VS开发时属性的配置与实际服务显示各项的对应关系:
通过服务界面,启动或关闭服务后,记录的日志结果为:
标签:WindowsServiceStudy,文件,exe,服务,Windows,实践,System,开发,using From: https://www.cnblogs.com/Jesuslovesme/p/17550362.html