Chinaunix首页 | 论坛 | 博客
  • 博客访问: 534608
  • 博文数量: 221
  • 博客积分: 3032
  • 博客等级: 中校
  • 技术积分: 2525
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-30 15:45
文章分类

全部博文(221)

文章存档

2012年(221)

我的朋友

分类: 云计算

2012-08-01 16:26:18

    很多人会对使用Visual Studio有不少的烦恼,下面我们来看一下作者是如何创建windows服务的,看后你一定觉得它其实很简单。

  下面是一个用Visual Studiowindows服务的简单例子和一些注意事项:

  1.新建一个windows服务

  2.添加代码

  vs会自动生成一些代码

  在Service1.cs中会看到如下代码

  

protected override void OnStart(string[] args)

  {

  }

  protected override void OnStop()

  {

  }

其中OnStart为启动服务时调用的方法;OnStop为停止服务时调用的方法。

  每个服务都还有其他方法,比如暂停、恢复等,可以重载基类的方法来实现,如暂停:

  

 protected override void OnPause()

  {

  base.OnPause();

自己的业务逻辑就可以在这些方法中调用实现。

  ps:在做windows服务时常常是要弄一个循环还处理某些业务逻辑,常见的方法是用一个Timer控件,值得注意的是Toolbox中的Timer控件默认是System.Windows.Forms.Timer,显然在这里是不会起作用的,这里可用System.Timers.Timer,可以直接在Toolbox中右键添加。

  3.添加Installer

  这一步很关键,在处理完业务逻辑后需添加一个Installer才能使你的windows服务能够被安装。

  在VS中添加Installer也很简单,操作如下:

  右键Service1.cs

  再到View Desiger视图中右键

  Installer就添加好了。

  4.设置服务参数

  可以在程序中先给定windows服务的参数

  在添加Installer时会自动生成一个ProjectInstaller.cs,在这个文件中有个InitializeComponent方法,如下:

private void InitializeComponent()

  {

  this.serviceProcessInstaller1 =
new System.ServiceProcess.ServiceProcessInstaller();

  this.serviceInstaller1 = new System.ServiceProcess.ServiceInstaller();

  //

  // serviceProcessInstaller1

  //

  this.serviceProcessInstaller1.Password =
null;

  this.serviceProcessInstaller1.Username = null;

  //

  // serviceInstaller1

  //

  this.serviceInstaller1.ServiceName =
"Service1";

  //

  // ProjectInstaller

  //

  this.Installers.AddRange(
new System.Configuration.Install.Installer[] {

  this.serviceProcessInstaller1,

  this.serviceInstaller1});

  }

  

this.serviceProcessInstaller1.Password = null;

this.serviceProcessInstaller1.Username =
null;

  为设置服务的登陆账号密码,如果不想设置用户名密码也可以采用本地系统帐户运行服务,代码如下:

  

this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;

  其他设置也可在此完成。

  5.安装和卸载windows服务

  制作完成的windows服务发布后为一个exe文件,要想到目标机器上安装使用这个服务,可以用微软提供的installutil工具,通过命令行的方式实现安装和卸载。

  installutil工具在目录:系统盘:\WINDOWS\Microsoft.NET\Framework\v4.0.30319下,运行cmd,输入

  C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\installutil xxxx.exe 回车,即可完成windows服务的安装。

  卸载则为输入 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\installutil /u xxxx.exe 回车。

 作者:尹秋江

阅读(1093) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~