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 }  
  • 相关阅读:
    c++函数模板
    C++左移运算符重载
    and or bool and a or b 原理解释
    Python的垃圾回收机制
    《C++ 101条建议》学习笔记——第一章快速入门
    在应用中嵌入Python:转
    使用C++扩展Python的功能 转自:http://blog.csdn.net/magictong/article/details/8897568#comments
    python扩展实现方法--python与c混和编程 转自:http://www.cnblogs.com/btchenguang/archive/2012/09/04/2670849.html
    python文件头的#-*- coding: utf-8 -*- 的作用
    Pythhon 字典 key in dict 比 dict.has_key (key)效率高 为什么?
  • 原文地址:https://www.cnblogs.com/cfan1874/p/2876629.html
Copyright © 2011-2022 走看看