2024年3月13日发(作者:)
用Visual C#创建Windows服务程序
一.Windows服务介绍:
Windows服务以前被称作NT服务,是一些运行在Windows NT、Windows 2000和
Windows XP等操作系统下用户环境以外的程序。在以前,编写Windows服务程序需要程
序员很强的C或C++功底。然而现在在Visual 下,你可以运用C++或Visual
C#或Visual 很轻松的创建一个Windows服务程序。同样,你还可以运用其
他任何与CLR相容的语言来创建Windows服务程序。本文就向大家介绍如何运用Visual
C#来一步一步创建一个文件监视的Windows服务程序,然后介绍如何安装、测试和调试
该Windows服务程序。
在介绍如何创建Windows服务程序以前,我先向大家介绍一些有关Windows服务的
背景知识。一个Windows服务程序是在Windows操作系统下能完成特定功能的可执行的
应用程序。Windows服务程序虽然是可执行的,但是它不像一般的可执行文件通过双击
就能开始运行了,它必须有特定的启动方式。这些启动方式包括了自动启动和手动启动
两种。对于自动启动的Windows服务程序,它们在Windows启动或是重启之后用户登录
之前就开始执行了。只要你将相应的Windows服务程序注册到服务控制管理器(Service
Control Manager)中,并将其启动类别设为自动启动就行了。而对于手动启动的Windows
服务程序,你可以通过命令行工具的NET START 命令来启动它,或是通过控制面板中管
理工具下的服务一项来启动相应的Windows服务程序(见图1)。同样,一个Windows
服务程序也不能像一般的应用程序那样被终止。因为Windows服务程序一般是没有用户
界面的,所以你也要通过命令行工具或是下面图中的工具来停止它,或是在系统关闭时
使得Windows服务程序自动停止。因为Windows服务程序没有用户界面,所以基于用户
界面的API函数对其是没有多大的意义。为了能使一个Windows服务程序能够正常并有
效的在系统环境下工作,程序员必须实现一系列的方法来完成其服务功能。Windows服
务程序的应用范围很广,典型的Windows服务程序包含了硬件控制、应用程序监视、系
统级应用、诊断、报告、Web和文件系统服务等功能。
图1
二.创建Windows服务程序:
在介绍如何创建Windows服务程序以前,我先向大家介绍一下.Net框架下与Windows
服务相关的命名空间和其中的类库。.Net框架大大地简化了Windows服务程序的创建和
控制过程,这要归功于其命名空间中的功能强大的类库。和Windows服务程序相关的命
名空间涉及到以下两个:eProcess和stics。
要创建一个最基本的Windows服务程序,我们只需要运用.Net框架下的
eProcess命名空间以及其中的四个类:ServiceBase、ServiceInstaller、
ServiceProcessInstaller以及ServiceController,其体系结构可见图2。
图2
发布评论