CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > .NET技术

在.NET里编写Windows Service

作者: 佚名,  出处:IT专家网论坛, 责任编辑: 包春林, 
2008-06-20 04:00
  通过.NET平台编写和发布简单的Windows Service是一件很方便的事情.

  新建一个(VB.NET/C#)项目,选择Windows Service应用..然后在OnStart类里就可以添加代码了.

  如果想实现定时运行,活实时监听的功能,可以用.NET 提供的TIMER类.

  以下是代码片段.

  

      private void theTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)

  {

  if (!ExCondition())

  { return;

  }

  try

  {

  theTimer.Enabled = false;

  MyTransaction();

  }

  catch(Exception es)

  {

  WriteLog(es.Message);

  }

  theTimer.Enabled = true;

  }

  //检测执行条件

  private bool ExCondition()

  {

  DateTime dtNow = DateTime.Now;

  if(this.currentmode.Equals("auto"))

  {

  string[] frev = this.freqvalue.Split('-');

  switch( this.freq)

  {

  case "2"://2-每小时

  if( (dtNow.Minute == 59)&(dtNow.Second< 30))

  {

  return true;

  }

  break;

  case "4"://4-每天,

  if((dtNow.Hour == int.Parse(frev[1]))&(dtNow.Minute == int.Parse(frev[2]))&(dtNow.Second<30))

  {

  return true;

  }

  break;

  case "8"://8-每周,

  int we = int.Parse(frev[0].Substring(1,1));

  if((dtNow.DayOfWeek.ToString().Equals(Week[we]))&(dtNow.Hour == int.Parse(frev[1]))&(dtNow.Minute == int.Parse(frev[2]))&(dtNow.Second<30))

  {

  return true;

  }

  break;

  case "16"://16-每月,

  int mm = int.Parse(frev[0].Substring(1,frev[0].Length-1));

  if((dtNow.Day == mm)&(dtNow.Hour == int.Parse(frev[1]))&(dtNow.Minute == int.Parse(frev[2]))&(dtNow.Second<30))

  {

  return true;

  }

  break;

  default://无触发

  return true;

  break;

  }

  }

  else

  {

  switch(this.startpoint)

  {

  case "0":

  return true;

  break;

  default:

  string[] st = startpoint.Split('-');

  if((dtNow.Hour == int.Parse(st[0]))&(dtNow.Minute ==int.Parse(st[1]))&(dtNow.Second<30))

  {

  return true;

  }

  break;

  }

  }

  return false;

  }

  注册你的Windows Service程序.

  用InstallUtil IASserver.exe (这个文件默认在C:\WINNT\Microsoft.NET\Framework\v1.1.4322下)

  InstallUtil IASserver.exe

  InstallUtil IASserver.exe /u (卸载)

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i