在企业级应用或系统后台任务中,C# Windows服务开发是一种常见且强大的技术。Windows服务可以在操作系统启动时自动运行,无需用户登录,非常适合执行长期运行的后台任务,如日志监控、数据同步、定时任务等。
本教程将带你从零开始,详细讲解如何使用C#语言创建Windows服务并成功将其安装到Windows系统中。即使你是编程小白,也能轻松上手!
Windows服务是在后台运行的可执行程序,它们不依赖于用户界面,通常由系统启动和管理。你可以通过“服务”管理控制台(services.msc)查看和控制它们。

你需要以下工具:
MyFirstWindowsService,选择保存位置,点击“创建”。创建完成后,你会看到一个名为 Service1.cs 的文件,它继承自 ServiceBase 类。
双击 Service1.cs,进入代码视图。我们需要重写 OnStart 和 OnStop 方法。
using System;using System.IO;using System.ServiceProcess;using System.Timers;namespace MyFirstWindowsService{ public partial class Service1 : ServiceBase { private Timer timer; public Service1() { InitializeComponent(); this.ServiceName = "MyFirstWindowsService"; } protected override void OnStart(string[] args) { // 服务启动时执行 WriteToFile("服务已启动:" + DateTime.Now); // 创建一个定时器,每10秒执行一次 timer = new Timer(10000); timer.Elapsed += new ElapsedEventHandler(OnTimer); timer.Start(); } protected override void OnStop() { // 服务停止时执行 WriteToFile("服务已停止:" + DateTime.Now); timer.Stop(); } private void OnTimer(object sender, ElapsedEventArgs e) { WriteToFile("服务正在运行:" + DateTime.Now); } private void WriteToFile(string message) { string path = @"C:\Logs\MyServiceLog.txt"; try { if (!Directory.Exists(Path.GetDirectoryName(path))) { Directory.CreateDirectory(Path.GetDirectoryName(path)); } File.AppendAllText(path, message + Environment.NewLine); } catch (Exception ex) { File.AppendAllText(@"C:\Logs\ErrorLog.txt", "写入日志失败:" + ex.Message + Environment.NewLine); } } }}上面的代码会在服务启动后,每10秒向 C:\Logs\MyServiceLog.txt 写入一条日志。
为了让系统能识别并安装你的服务,需要添加一个安装程序。
Service1.cs 设计视图中,右键空白处,选择“添加安装程序”。ProjectInstaller.cs 文件。serviceInstaller1 和 serviceProcessInstaller1。设置属性如下:
ServiceName: MyFirstWindowsServiceDisplayName: 我的第一个Windows服务Description: 这是一个演示用的C# Windows服务StartType: Automatic(自动启动)Account: LocalSystem点击“生成” → “生成解决方案”。确保没有错误。编译后的可执行文件通常位于 bin\Debug 或 bin\Release 文件夹中。
Windows提供了 InstallUtil.exe 工具来安装服务。操作步骤如下:
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319InstallUtil.exe "C:\YourProjectPath\MyFirstWindowsService\bin\Debug\MyFirstWindowsService.exe"如果看到“Commit阶段已成功完成”,说明安装成功!
Win + R,输入 services.msc,回车。C:\Logs\MyServiceLog.txt 是否有内容写入。如果需要卸载服务,同样使用 InstallUtil.exe,加上 /u 参数:
InstallUtil.exe /u "C:\YourProjectPath\MyFirstWindowsService\bin\Debug\MyFirstWindowsService.exe"通过本教程,你已经掌握了如何使用C#进行Windows服务开发,包括创建、编写逻辑、添加安装程序、编译、安装与测试。这项技能在创建Windows服务教程中属于核心内容,也是C#后台服务编程的重要组成部分。
记住:服务运行在系统上下文中,务必处理好异常和日志,避免服务崩溃。同时,确保你的服务有足够的权限访问所需资源。
现在,你已经可以自信地开发自己的Windows后台服务了!
本文由主机测评网于2025-12-18发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025129489.html