您的位置:首页 > 其它

用C#创建Windows(NT)服务

2008-08-04 13:09 253 查看
Windows服务在Visual Studio 以前的版本中叫NT服务,在VS.net启用了新的名称。用Visual C# 创建Windows服务不是一件困难的事,本文就将指导你一步一步创建一个Windows服务并使用它。这个服务在启动和停止时,向一个文本文件中写入一些文字信息。这个小技巧来自于MSDN,但是现在程序编写的更加清晰,并且你可以根据你的需要修改它。可下载工程文件包:mcWinService.zip。

第一步:创建服务框架

要创建一个新的 Windows 服务,可以从Visual C# 工程中选取 Windows 服务(Windows Service)选项,给工程一个新文件名,然后点击 OK。结果看起来是这样的:

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

将ServiceName(服务名)设置成你自己需要的名字,这样在测试期间就更容易识别你的服务,也可以通过编写代码来设置这个属性,方法是this.ServiceName = "mcWinService":

向导在WebService1.cs中增加的默认代码。

第二步:向服务中增加功能

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

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

第三步:安装和运行服务

这个应用程序最后生成一个exe文件mcWinService.exe。要注册这个服务,你需启动开始菜单中的命令行按如下方式调用installutil:installutil C:\mcWebService\bin\Debug\mcWebService.exe。要卸载服务,使用 /u 选项:installutil /u C:\mcWebService\bin\Debug\mcWebService.exe。

第四步:启动和停止服务

在桌面用右键点击图标“我的电脑”选择管理菜单项(Manage),然后启动“服务和应用程序(Services and Applications)”中的服务(Services);你也可以直接从开始菜单中选择管理工具中的计算机管理(Computer Management)进入服务。这样你就能看到服务 mcWinService,右键单击弹出菜单中有启动和停止选项。

第五步:测试服务

转到 temp 目录中,看看文本文件是否存在,有没有写入内容。

创建一个Windows服务,仅用InstallUtil程序去安装这个服务是不够的。你必须还要把一个服务安装程序添加到你的Windows服务当中,这样便于InstallUtil或是任何别的安装程序知道应用你服务的是怎样的配置设置。

1. 将这个服务程序切换到设计视图

2. 右击设计视图选择“添加安装程序”

3. 切换到刚被添加的ProjectInstaller的设计视图

4. 设置serviceInstaller1组件的属性:

1) ServiceName = My Sample Service

2) StartType = Automatic

5. 设置serviceProcessInstaller1组件的属性

1) Account = LocalSystem

6. 生成解决方案
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: