background image

C#.NET 写简单 Windows 服务
2007 年 03 月 08

 

日 12:48

一、 遇到什么问题?

有些软件,需要每隔一定时间做一些相同的事情,或者作为网络服务,像
IIS、SQL Server 等这样的软件。此种情况下,往往需要让软件在没有用户干预

的情况下在服务器上运行。与此种程序交互往往需要通过网络协议进行。或者程

 

序根本就不需要与用户交互。这种程序往往称为后台程序,或后台服务。

二、 Windows 服务能做些什么?
Windows 服务是这些后台程序、后台服务的正规名词。Windows 服务的运行可
以在没有用户干预的情况下,在后台运行,没有任何界面。通过 Windows 服
务管理器进行管理。服务管理器也只能做些简单的操作:开始,暂停,继续,
停止。
Windows 服务和普通的 Windows 窗体应用程序类型,只是没有了界面,连
最简单的 MessageBox 也不能弹出来。所以不要试图在 Windows 服务里通过
这种方式来提示用户。因为可能根本没有用户登录计算机。
Windows 服务的特点:
 在后台运行
 没有用户交互
 可以随 Windows 启动而启动
三、 如何实现 Windows 服务?

下面按 隔一定时间做一些相同的事情 的服务为例,说明 Windows 服务如何
实现。
先按普通 Windows 程序设计好你的程序逻辑。
建立一个空白解决方案 WindowsService.sln
添加 Windows 类库项目 ServiceBusiness.csproj
将 Class1.cs 改名为 ServiceBusiness.cs
添加一个方法 Dothings(),这个方法用来每隔一段时间调用一次,做些周期
性的事情。

using

 System;

namespace

 ServiceBusiness

{
    

public

 

class

 ServiceBusiness

    {
        

public

 

void

 Dothings()

        {
            

//隔一段时间调用一次

        }
    }
}