.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
[录摘]在.NET环境写编写和注册Windws Service

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

/*====================================================================
虽然简单,但是我们很少写基于这样的应用,我偶尔看到这篇文章,就顺手摘录下来了

通过.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  (卸载)




相关文章

相关软件