zoukankan      html  css  js  c++  java
  • 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 }  
  • 相关阅读:
    Java堆外内存管理
    Java内存模型和JVM内存管理
    C++经典面试题(最全,面中率最高)
    115道Java经典面试题(面中率最高、最全)
    Sublime Text 3中文乱码问题的解决(最有效)
    面试笔记3
    IntelliJ IDEA使用教程(很全)
    Intellij IDEA 创建Web项目并在Tomcat中部署运行
    IDEA调试总结(设置断点进行调试)
    Tomcat_启动多个tomcat时,会报StandardServer.await: Invalid command '' received错误
  • 原文地址:https://www.cnblogs.com/cfan1874/p/2876629.html
Copyright © 2011-2022 走看看