C# 开发windows服务项

简介:

对于用C# 开发windows服务,前几周可以说还是很茫然的阶段,最近下了翻功夫,稍微有了了解。虽然只是入门阶段但是依然想记录下来当中遇到的问题,我想对于对于想用用C#开发windows服务的同学,会有一定的帮助。

  下面就具体的实例,进行分析。

1、首选我们需要打开VS2010,然后点击文件--》新建--》项目,选择Visual C#--》windows--》windows服务。服务命名为ServiceExample,然后我们就会在解决方案中见到如下界面:

220807103.jpg

             Service1.cs名称在属性中可以修改

2.Service1.c右键打开,快捷键F7,进入写代码页面,里面有两个重载函数,并在其中写一些简单的代码如下所示:

              protectedoverridevoid OnStart(string[] args)

             {

               String s = System.DateTime.Now.ToString();

               if (!File.Exists("D:\\statue.txt"))

               {

                  StreamWriter sr = File.CreateText("D:\\statue.txt");

                  sr.WriteLine("在{0}成功|运行", s);

                  sr.Close();

               }

               else

               {

                 StreamWriter sr = File.AppendText("D:\\statue.txt");

                 sr.WriteLine("在{0}成功运行", s);

                 sr.Close();

               }

               }

              protectedoverridevoid OnStop()

             {

               String s1 = System.DateTime.Now.ToString();

               if (!File.Exists("D:\\statue.txt"))

               {

                 StreamWriter sr = File.CreateText("D:\\statue.txt");

                 sr.WriteLine("-------------------------STOP SRV---------------------");

                 sr.WriteLine("服务在{0}时间停止", s1);

                 sr.Close();

               }

               else

               {

                 StreamWriter sr = File.AppendText("D:\\statue.txt");

                 sr.WriteLine("-------------------------STOP SRV---------------------");

                 sr.WriteLine("服务在{0}时间停止", s1);

                 sr.Close();

              }

            }

3.回到设计窗口点右键选择添加安装程序生成serviceInstaller1 serviceProcessInstaller1两个组件把serviceInstaller1的属性ServiceName改写为你的服务名,并把启动模式设置为AUTOMATIC,把serviceProcessInstaller1的属性account改写为LocalSystem

4.F6对程序进行编译,生成Service.exe文件。

至此一个简单的服务就算是完成了,下面对程序进行安装。(程序包在“D:\ServiceExample)。

   对服务的安装:

   第一种:打开计算机Dos命令窗口,以管理员身份运行,键入以下命令:

    221253653.jpg

 

   而后输入命令:

   InstallUtil.exe  ServiceExample.exe

但是通常情况下是运行不成功的,为了这个神一样坑的问题,耗费了我二天的时间,才解决了这个问题。缺乏InstallUtil.exe文件,这个文件个人感觉类似于引导符,可以从其他服务处复制过来。

当运行成功后,Dos命令中会有相应的提示,我们也可以在“D:\\statue.txt看到相应记录。

第二种:在VS2010中有相应的DOS平台:

 

221434913.jpg

    在此处打开命令符和第一种一样,当时最后一处不同,直接输入:

    InstallUtil  ServiceExample.exe

    此处不需要 InstallUtil.exe 引导。

   服务的启动:

   sc delete ServiceExample.

   服务的删除:

   cd  c:\windows\system32\

   sc delete ServiceExample.

   查看服务;

   services.msc      进入服务列表

   在此处可以看到我们安装的服务。




本文转自HDDevTeam 51CTO博客,原文链接:http://blog.51cto.com/hddev/1253988,如需转载请自行联系原作者
相关文章
|
15天前
|
IDE 关系型数据库 开发工具
使用Visual Basic进行Windows窗体开发
【4月更文挑战第27天】本文介绍了使用Visual Basic进行Windows窗体(WinForms)开发的步骤,从搭建开发环境到创建、设计用户界面,再到编写事件驱动的代码和数据绑定。Visual Basic结合WinForms提供了一种易学易用的桌面应用开发方案。通过调试、优化、部署和维护,开发者可以构建专业应用程序。随着技术发展,掌握最新UI设计和开发工具对于保持竞争力至关重要。本文为初学者提供了基础指导,鼓励进一步探索和学习。
|
2天前
|
开发框架 .NET C#
使用C#进行.NET框架开发:深入探索与实战
【5月更文挑战第28天】本文探讨了C#在.NET框架中的应用,展示了其作为强大编程语言的特性,如类型安全、面向对象编程。C#与.NET框架的结合,提供了一站式的开发环境,支持跨平台应用。文中介绍了C#的基础知识,如数据类型、控制结构和面向对象编程,以及.NET的关键技术,包括LINQ、ASP.NET和WPF。通过一个实战案例,展示了如何使用C#和ASP.NET开发Web应用,包括项目创建、数据库设计、模型和控制器编写,以及视图和路由配置。本文旨在揭示C#在.NET开发中的深度和广度,激发开发者探索更多可能性。
|
4天前
|
编解码 5G Linux
FFmpeg开发笔记(二十一)Windows环境给FFmpeg集成AVS3解码器
AVS3是中国首个8K及5G视频编码标准,相比AVS2和HEVC性能提升约30%。解码器libuavs3d支持8K/60P视频实时解码,兼容多种平台。《FFmpeg开发实战》书中介绍了在Windows环境下如何集成libuavs3d到FFmpeg。集成步骤包括下载源码、使用Visual Studio 2022编译、调整配置、安装库文件和头文件,以及重新配置和编译FFmpeg以启用libuavs3d。
21 0
FFmpeg开发笔记(二十一)Windows环境给FFmpeg集成AVS3解码器
|
6天前
|
测试技术 持续交付 C#
C#程序基础开发入门学习笔记
C#是一种现代的、面向对象的编程语言,广泛应用于Windows应用程序开发、游戏开发(尤其是Unity引擎)、Web应用程序以及跨平台应用等。
14 0
|
15天前
|
监控 安全 C#
开发公司电脑监控软件的报警系统:一个C#示例
在当今数字化时代,企业对其计算机网络和系统的安全性和稳定性越来越重视。为了确保员工遵守公司政策、保护机密信息以及监控系统的正常运行,开发一种可靠的公司电脑监控软件变得至关重要。本文将介绍如何使用C#编写一个简单而有效的报警系统,以便监控关键数据并在必要时发出警报。
43 0
|
15天前
|
算法 Linux Windows
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
在Windows环境下为FFmpeg集成字幕渲染库libass涉及多个步骤,包括安装freetype、libxml2、gperf、fontconfig、fribidi、harfbuzz和libass。每个库的安装都需要下载源码、配置、编译和安装,并更新PKG_CONFIG_PATH环境变量。最后,重新配置并编译FFmpeg以启用libass及相关依赖。完成上述步骤后,通过`ffmpeg -version`确认libass已成功集成。
30 1
FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass
|
15天前
|
存储 运维 BI
基于C#-VC-MSSQL开发的全套PACS系统源码 3D PACS系统源码:可实现医学影像获取、存档、观片、处理、打印多项应用
PACS的功能价值在于通过连接不同的影像设备,存储与管理图像,图像的调用与后处理,实现资源共享,降低成本,达到提高工作效率、提升医疗水平的目地;
20 1
基于C#-VC-MSSQL开发的全套PACS系统源码  3D PACS系统源码:可实现医学影像获取、存档、观片、处理、打印多项应用
|
15天前
|
安全 关系型数据库 虚拟化
WIndows Server 远程桌面服务—RDS
WIndows Server 远程桌面服务—RDS
|
15天前
|
开发框架 JavaScript 安全
WIndows Server 2016 部署 Web服务(简单篇)
WIndows Server 2016 部署 Web服务(简单篇)
|
15天前
|
Windows
Windows2016 搭建 DHCP服务
Windows2016 搭建 DHCP服务