编写并运行windows服务

一、什么是windows服务

Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合。它没有用户界面,并且也不会产生任何可视输出。任何用户消息都会被写进Windows事件日志。计算机启动时,服务会自动开始运行。它们不要用户一定登录才运行,它们能在包括这个系统内的任何用户环境下运行。通过服务控制管理器,Windows服务是可控的,可以终止、暂停及当需要时启动。

本文演示创建一个windows服务的基本步骤,和使用InstallUtil.exe发布服务,使之运行在机器上。主要功能就是在服务启动和结束的时候记下日志,同时每隔一定时间记录下程序运行日志。

二、创建windows服务的步骤

1.新建项目——windows服务

2.给Service1.cs编写代码

todo... code is here。。。

注意:此处的Timer是Syste.Timers.Timer,而不是System.Windows.Forms.Timer,具体区别请看另一篇文章。

三、安装windows服务前的配置

windows服务不同于通常的windows应用程序,光通过一个简单的exe程序执行是不够的,还需要.Net Framework提供的InstallUtil.exe工具来完成,把程序添加到windows服务中去,这样便于InstallUtil.exe或者其它别的安装程序知道你的服务是怎样配置的。

3.添加windows服务安装程序

1. 将这个服务程序切换到设计视图
2. 右击设计视图选择"添加安装程序"

3. 切换到刚被添加的ProjectInstaller的设计视图
4. 设置serviceInstaller1组件的属性:
1) ServiceName = 我的第一个windows服务
2) StartType = Automatic

5. 设置serviceProcessInstaller1组件的属性
1) Account = LocalSystem

6. 生成解决方案

到此为止,这个服务已经生成,接下来需要用InstallUtil.exe来安装windows服务。

四、使用InstallUtil.exe安装windows服务

1.Win+R打开cmd命令提示行
2.切换目录到项目所在文件夹的bin\debug目录,
3.执行命令 InstallUtil.exe MyWindowsService.exe 来注册这个服务
注意:直接运行InstallUtil.exe可能会失败,提示
'InstallUtil.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。 因为系统找不识别这个命令,不过可以在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727 目录下找到该工具。
4.右击"我的电脑"——服务列表中就有新建的windows服务了。

posted on 2013-03-31 23:32  Frank.Fan  阅读(641)  评论(0编辑  收藏  举报