`
cfan1874
  • 浏览: 42653 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

C#创建windows服务搭配定时器Timer使用实例(用代码做,截图版)

    博客分类:
  • asp
阅读更多
    功能说明:C#创建一个windows服务,服务启动时D:\mcWindowsService.txt写入数据,服务运行期间每隔两秒写入当前时间。

     原理这些就不说了,三语两语说不清楚,直接贴一个实例。不能贴图片!!那个压缩文里面是word文档!!有图有真相

1.建立空白项目


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

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


4. 添加windows服务的安装类。
(1)在类名或者解决方案中新建视图:

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

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


服务创建完成!

安装运行就不用说了吧!!

6 服务类源代码():
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;

namespace SR171
{
    class Service17: System.ServiceProcess.ServiceBase
    {
           
        public Service17()//可以自己设定
        {
            this.ServiceName = "MyServiceForShowTime";
            this.CanStop = true;
            this.CanPauseAndContinue = true;
            this.AutoLog = true;

            #region 定时器事件
            Timer aTimer = new Timer();       //System.Timers,不是form的
            aTimer.Elapsed += new ElapsedEventHandler(TimedEvent);
            aTimer.Interval = 2 * 1000;    //配置文件中配置的秒数
            aTimer.Enabled = true;
            #endregion
            }
        public static void Main()//必须写
        {
            System.ServiceProcess.ServiceBase.Run(new Service17());
        }
        protected override void OnStart(string[] args)//自己根据要求覆写
        {
            FileStream fs = new FileStream(@"d:\mcWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);

            StreamWriter m_streamWriter = new StreamWriter(fs);

            m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);

            m_streamWriter.WriteLine("mcWindowsService: Service Started" + DateTime.Now.ToString() + "\n");

            m_streamWriter.Flush();

            m_streamWriter.Close();

            fs.Close();


        }
        protected override void OnStop()
        {

            FileStream fs = new FileStream(@"d:\mcWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);

            StreamWriter m_streamWriter = new StreamWriter(fs);

            m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);

            m_streamWriter.WriteLine(" mcWindowsService: Service Stopped " + DateTime.Now.ToString() + "\n");

            m_streamWriter.Flush();

            m_streamWriter.Close();

            fs.Close();

        }


        private static void TimedEvent(object source, ElapsedEventArgs e)         //运行期间执行
        {
            FileStream fs = new FileStream(@"d:\mcWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);

            StreamWriter m_streamWriter = new StreamWriter(fs);

            m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);

            m_streamWriter.WriteLine("  Running.11.. " + DateTime.Now.ToString() + "\n");

            m_streamWriter.Flush();

            m_streamWriter.Close();

            fs.Close();
        }

    }
}
  • 大小: 96.4 KB
  • 大小: 25.3 KB
  • 大小: 101.7 KB
  • 大小: 82.8 KB
  • 大小: 75.8 KB
  • 大小: 42.1 KB
  • 大小: 30.2 KB
  • 大小: 45.1 KB
  • 大小: 81.7 KB
分享到:
评论

相关推荐

    C#创建windows服务搭配定时器Timer使用实例(用代码做_截图版)[归纳].pdf

    在C#中创建Windows服务并结合使用Timer定时器是一个常见的任务,这主要应用于需要在后台自动执行周期性工作的系统。以下是对这个主题的详细说明: 首先,创建一个空白的项目,选择.NET Framework作为目标框架,因为...

    C#定时器(Timer)

    在Windows应用程序、服务或控制台程序中,C#定时器常常被用来创建后台任务、监控、更新用户界面或其他需要定时触发的功能。 1. **Timer类的介绍** C#中的Timer类主要存在于System.Threading命名空间下,有两种常见...

    C#调用多媒体定时器

    多媒体定时器(Multimedia Timer)是Windows API提供的一种高级定时器服务,相比于系统定时器和控件定时器,它具有更高的精度和更低的延迟,适合于需要定时精确执行任务的场合。C++/CLR是一种混合编程技术,允许C#...

    C# 定时器 计时器 的使用详解

    ### C# 定时器(计时器)的使用详解 #### 一、引言 在C#编程中,定时器(计时器)是一种非常有用的工具,它可以帮助开发者实现定时执行某些操作的需求。无论是简单的计时应用还是复杂的后台任务处理,定时器都是不...

    用c#源代码制作的定时器

    【标题】:“用C#源代码制作的定时器” 在编程领域,定时器是一个非常重要的组件,它允许...以上就是关于这个C#定时器程序可能涉及的一些核心知识点。这个程序虽然简单,但对于学习C#和理解事件驱动编程是很有帮助的。

    C# 定时器的使用

    - 创建一个Windows Forms定时器,可以在Form的Designer中拖放一个Timer控件,或者在代码中实例化一个新对象,例如: ```csharp Timer timer = new Timer(); ``` - 设置定时器的Interval属性,单位为毫秒,表示...

    c# 在windows服务中 使用定时器实例代码

    在windows服务中如何使用定时器的时候一直失效, 以前是直接拖入timer控件,但是不能直接运行,后来在网上找了一段程序,好使了。 代码如下://开始事件 protected override void OnStart(string[] args) { //定时...

    C#版本多媒体定时器

    3. **高精度**: 由于基于多媒体定时器,MmTimer能够提供比标准C#定时器更高的精度,对于需要精细时间控制的场景,这是一个巨大的优势。 4. **跨线程回调**: 定时器回调可以在指定的线程上下文中执行,确保了与UI或...

    C#实现Timer定时器

    本篇将详细讲解如何使用C#实现`Timer`定时器,以实现秒的自加功能。 首先,我们要了解`System.Timers.Timer`类。这个类是.NET框架提供的,常用于多线程环境,它的工作方式是在指定的时间间隔后引发`Elapsed`事件。...

    C#中定时器停止问题

    当创建一个定时器实例后,通常需要设置其 `Interval` 属性来确定间隔时间,即每隔多少毫秒触发一次 `Elapsed` 事件(对于 `System.Timers.Timer`)或 `Tick` 事件(对于 `System.Windows.Forms.Timer`)。...

    C#中自定义高精度Timer定时器的实例教程

    在C#里关于定时器的类就有3个: (1)定义在System.Windows.Forms里  (2)定义在System.Threading.Timer类里  (3)定义在System.Timers.Timer类里 Timer 用于以用户定义的事件间隔触发事件。Windows 计时器是为...

    c#版本定时器的源代码

    下面我们将深入探讨C#定时器的源代码及其工作原理。 C#中的定时器主要有两种类型:System.Timers.Timer和System.Windows.Forms.Timer。前者是基于线程池的,适用于服务器端应用;后者则主要用于Windows Forms应用...

    C#时钟timer应用webservice接口调用实例

    在本文中,我们将深入探讨如何在C#中使用时钟控件Timer以及如何通过Web服务接口(WebService)进行通信。这个实例特别适合初学者,它将帮助你理解这两个关键概念,并教你如何将它们结合起来实现一个实用的应用。 ...

    C#使用 time控件实现定时器

    在C#编程中,`Time`控件实际上指的是`System.Windows.Forms.Timer`控件,而非一个直接名为"Time"的控件。这个控件在Windows Forms应用程序中被广泛用于实现定时功能,例如执行周期性的任务或者倒计时。在本实例中,...

    C#.net 定时器的简单实现

    - 创建实例:`System.Timers.Timer timer = new System.Timers.Timer();` - 设置间隔:`timer.Interval = 1000;` 这里1000代表1秒。 - 启动定时器:`timer.Start();` - 注册事件处理程序:`timer.Elapsed += new...

    C#中timer定时器用法实例

    在示例代码中,我们创建了一个名为`timer`的`Timer`实例: ```csharp Timer timer = new Timer(); ``` 接下来,我们需要为`Elapsed`事件添加一个事件处理程序,这个事件会在每次计时器触发时被调用。在本例中,...

    c#定时器的源代码!!

    本压缩包包含了一个C#定时器的源代码,让我们深入探讨一下相关的知识点。 首先,C#中的定时器主要有两种类型:System.Threading.Timer和System.Windows.Forms.Timer。前者适用于控制台应用和非UI线程,而后者则主要...

    C#Winform定时器误差测试实例.rar

    在C#编程中,Winform定时器(System.Windows.Forms.Timer)是经常被用来实现周期性操作的工具。这个“C#Winform定时器误差测试实例”着重探讨了定时器触发事件的实际间隔与预设间隔之间的误差问题。在实际应用中,如...

Global site tag (gtag.js) - Google Analytics