• C#创建windows服务搭配定时器Timer使用实例(用代码做,截图版)(从iteye搬到博客园)


    1.  建立空白项目

                           

    2.添加创建windows服务需要的引用,选择System.ServiceProcess。

       

     

    3.创建服务类,继承ServiceBase,类的源代码在后面。

    4. 添加windows服务的安装类。

             (1)在类名或者解决方案中新建视图:

     

             (2)上一步后会出来类的视图,右键选择查看设计器:

     

             (3)在设计视图里面添加安装器(有可能会弹出警告框,如图,不用管):

     

    5  服务类源代码:

     1 using System;   
     2 using System.Collections.Generic;   
     3 using System.IO;   
     4 using System.Linq;   
     5 using System.Text;   
     6 using System.Threading.Tasks;   
     7 using System.Timers;   
     8   
     9 namespace SR171   
    10 {   
    11     class Service17: System.ServiceProcess.ServiceBase   
    12     {   
    13               
    14         public Service17()//可以自己设定   
    15         {   
    16             this.ServiceName = "MyServiceForShowTime";   
    17             this.CanStop = true;   
    18             this.CanPauseAndContinue = true;   
    19             this.AutoLog = true;  
    20  
    21             #region 定时器事件   
    22             Timer aTimer = new Timer();       //System.Timers,不是form的   
    23             aTimer.Elapsed += new ElapsedEventHandler(TimedEvent);   
    24             aTimer.Interval = 2 * 1000;    //配置文件中配置的秒数   
    25             aTimer.Enabled = true;  
    26             #endregion   
    27             }   
    28         public static void Main()//必须写   
    29         {   
    30             System.ServiceProcess.ServiceBase.Run(new Service17());   
    31         }   
    32         protected override void OnStart(string[] args)//自己根据要求覆写   
    33         {   
    34             FileStream fs = new FileStream(@"d:\mcWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);   
    35   
    36             StreamWriter m_streamWriter = new StreamWriter(fs);   
    37   
    38             m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);   
    39   
    40             m_streamWriter.WriteLine("mcWindowsService: Service Started" + DateTime.Now.ToString() + "\n");   
    41   
    42             m_streamWriter.Flush();   
    43   
    44             m_streamWriter.Close();   
    45   
    46             fs.Close();   
    47   
    48   
    49         }   
    50         protected override void OnStop()   
    51         {   
    52   
    53             FileStream fs = new FileStream(@"d:\mcWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);   
    54   
    55             StreamWriter m_streamWriter = new StreamWriter(fs);   
    56   
    57             m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);   
    58   
    59             m_streamWriter.WriteLine(" mcWindowsService: Service Stopped " + DateTime.Now.ToString() + "\n");   
    60   
    61             m_streamWriter.Flush();   
    62   
    63             m_streamWriter.Close();   
    64   
    65             fs.Close();   
    66   
    67         }   
    68   
    69   
    70         private static void TimedEvent(object source, ElapsedEventArgs e)         //运行期间执行   
    71         {   
    72             FileStream fs = new FileStream(@"d:\mcWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);   
    73   
    74             StreamWriter m_streamWriter = new StreamWriter(fs);   
    75   
    76             m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);   
    77   
    78             m_streamWriter.WriteLine("  Running.11.. " + DateTime.Now.ToString() + "\n");   
    79   
    80             m_streamWriter.Flush();   
    81   
    82             m_streamWriter.Close();   
    83   
    84             fs.Close();   
    85         }   
    86   
    87     }   
    88 }  
  • 相关阅读:
    Centos下安装部署redis
    mysql 事务操作
    python 基础杂货铺
    6、Django 第三方工具
    5、Django
    4、django 模板
    RPC框架--missian框架
    jvm详情——7、jvm调优基本配置、方案
    jvm详情——6、堆大小设置简单说明
    jvm详情——5、选择合适的垃圾收集算法
  • 原文地址:https://www.cnblogs.com/cfan1874/p/2876629.html
Copyright © 2020-2023  润新知