C#编写Windows服务
1.新建项目:Windows服务
2.默认创建一个Service1.cs文件,切换到“代码视图”,如下图所示:
3.编写功能
在 void OnStart(string[] args) 方法中,编写服务启动时要执行的代码;
在 void OnStop() 方法中,编写服务停止时要执行的代码;
protected override void OnStart(string[] args) { FileStream fs = new FileStream(@"F:\test\ServiceTest.txt", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter sw = new StreamWriter(fs); sw.BaseStream.Seek(0, SeekOrigin.End); sw.WriteLine("Service OnStart" + DateTime.Now.ToString() + "\n"); sw.Flush(); sw.Close(); fs.Close(); } protected override void OnStop() { FileStream fs = new FileStream(@"F:\test\ServiceTest.txt", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter sw = new StreamWriter(fs); sw.BaseStream.Seek(0, SeekOrigin.End); sw.WriteLine("Service OnStop" + DateTime.Now.ToString() + "\n"); sw.Flush(); sw.Close(); fs.Close(); }
4. 添加安装程序
在service的设计界面,空白处,右键,选择“添加安装程序”
会自动创建“ProjectInstaller.cs”文件:
分别设置“serviceProcessInstaller1”、“serviceInstaller1”两个组件的属性:
保存,编译生成。
5.安装与卸载服务
在本地计算机:C:\Windows\Microsoft.NET\Framework\v4.0.30319\ 目录下,找到“InstallUtil.exe”文件,把它拷贝到上述生成的应用程序所在的目录。
创建文本文件,并重命名为“安装服务.bat”,编辑内容:
%~dp0InstallUtil.exe %~dp0WinService_Test.exe
pause
创建文本文件,并重命名为“卸载服务.bat”,编辑内容:
%~dp0InstallUtil /u %~dp0WinService_Test.exe
pause
其中“WinService_Test.exe”为上述生成的window服务应用程序。将这两个bat文件也放到生成的应用程序所在的目录下
注意,上述目录的路径中不能有空格
6.运行“安装服务.bat”
7. 运行“卸载服务.bat”
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律