千家信息网

C#如何创建Windows服务

发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,小编给大家分享一下C#如何创建Windows服务,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!C#创建Windows服务(
千家信息网最后更新 2025年11月12日C#如何创建Windows服务

小编给大家分享一下C#如何创建Windows服务,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

C#创建Windows服务(Windows Services)

Windows服务在Visual Studio 以前的版本中叫NT服务,在VS.net启用了新的名称。用Visual C# 创建Windows服务不是一件困难的事,本文就将指导你一步一步创建一个Windows服务并使用它。这个服务在启动和停止时,向一个文本文件中写入一些文字信息。

C#创建Windows服务***步:创建服务框架

要创建一个新的 Windows 服务,可以从Visual C# 工程中选取 Windows 服务(Windows Service)选项,给工程一个新文件名,然后点击 确定。

你可以看到,向导向工程文件中增加WebService1.cs类:

其中各属性的含意是:

◆Autolog

是否自动写入系统的日志文件

◆CanHandlePowerEvent

服务时候接受电源事件

◆CanPauseAndContinue

服务是否接受暂停或继续运行的请求

◆CanShutdown

服务是否在运行它的计算机关闭时收到通知,以便能够调用 OnShutDown 过程

◆CanStop

服务是否接受停止运行的请求

◆ServiceName

服务名

C#创建Windows服务第二步:向服务中增加功能

在 .cs代码文件中我们可以看到,有两个被忽略的函数 OnStart和OnStop。

OnStart函数在启动服务时执行,OnStop函数在停止服务时执行。在这里,当启动和停止服务时,向一个文本文件中写入一些文字信息,代码如下:

protected override void OnStart(string[] args)   {    FileStream fs = new FileStream(@"d:\mcWindowsService.txt" ,   FileMode.OpenOrCreate, FileAccess.Write);    StreamWriter m_streamWriter = new StreamWriter(fs);    m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);    m_streamWriter.WriteLine("mcWindowsService:    Service Started"+DateTime.Now.ToString()+"\n");    m_streamWriter.Flush();   m_streamWriter.Close();   fs.Close();       }    protected override void OnStop()   {   FileStream fs = new FileStream(@"d:\mcWindowsService.txt" ,  FileMode.OpenOrCreate, FileAccess.Write);    StreamWriter m_streamWriter = new StreamWriter(fs);    m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);    m_streamWriter.WriteLine(" mcWindowsService:  Service Stopped "+DateTime.Now.ToString()+"\n");    m_streamWriter.Flush();   m_streamWriter.Close();   fs.Close();   }

C#创建Windows服务第三步: 将安装程序添加到服务应用程序

Visual Studio.NET 随附有安装组件,可用来安装与服务应用程序相关联的资源。安装组件在正在安装到的系统上注册一项单个的服务,并使服务控制管理器知道该服务的存在。

要正确安装服务,并不需要在安装程序中进行任何特殊编码。但是,如果需要向安装进程添加特殊功能,则可能偶尔需要修改安装程序的内容。

将安装程序添加到服务应用程序的步骤是:

1:在解决方案中,访问要向其中添加安装组件的服务的Design视图。

2:在属性窗口中,单击添加安装程序链接

这时项目中就添加了一个新类 ProjectInstaller 和两个安装组件 ServiceProcessInstaller 和 ServiceInstaller,并且服务的属性值被复制到组件。

3:若要确定如何启动服务,请单击 ServiceInstaller 组件并将 StartType 属性设置为适当的值。

◆Manual

服务安装后,必须手动启动。

◆Automatic

每次计算机重新启动时,服务都会自动启动。

◆Disabled

服务无法启动。

4:将serviceProcessInstaller类的Account属性改为 LocalSystem

这样,不论是以哪个用户登录的系统,服务总会启动。

C#创建Windows服务第四步:生成服务程序

通过从生成菜单中选择生成来生成项目。

注意 不要通过按 F5 键来运行项目--不能以这种方式运行服务项目。

C#创建Windows服务第五步:安装服务

访问项目中的已编译可执行文件所在的目录。

用项目的输出作为参数,从命令行运行 InstallUtil.exe。在命令行中输入下列代码:

installutil yourproject.exe

卸载服务

用项目的输出作为参数,从命令行运行 InstallUtil.exe。

installutil /u yourproject.exe

以上是"C#如何创建Windows服务"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

服务 C# 程序 文件 运行 组件 属性 项目 生成 代码 内容 函数 命令 工程 应用程序 篇文章 系统 应用 特殊 两个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海翰涂网络技术有限公司 宁夏银川软件开发定制费用 阿里云服务器干什么 榆树通用网络技术互惠互利 北京通讯软件开发设施参考价格 云服务器怎么装 远端服务器是什么 mc服务器是用什么电脑 网络安全及相关法律法规的认识 软件开发包不包括人工智能 怎么查看路由器网络安全密钥 天津 网络技术服务有限公司 数据库cursor的作用 网络加密技术网络安全论文 github模块化软件开发 绝地求生端游进游戏服务器崩溃 大平台是软件开发 南京智保互联网科技有限公司 莞易学平台相关网络安全 魔兽世界哪服务器不排队 关于数据库安全性的论文 致病微生物核酸序列数据库 软件开发和软件测试就业 我的世界怎么查玩过的服务器 上海诚信网络技术开发哪个正规 工业自动化数据库 浙江多禾网络技术公司天眼查 数据库的三级结构分别被定位 怎样更改开放网络安全吗 海珠区软件开发贵吗
0