c# 在windows服务中 使用定时器

由于最近做自动执行的程序,开始做windows服务程序,

在windows服务中如何使用定时器的时候一直失效,

以前是直接拖入timer控件,但是不能直接运行,后来在网上找了一段程序,好使了。

  //开始事件
        protected override void OnStart(string[] args)
        {
             //定时事件
            MyTimer();
        }

        //结束事件
        protected override void OnStop()
        {
            writeLog("服务结束时间:"  + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
        }

        //实例化System.Timers.Timer
        private void MyTimer()
        {
            System.Timers.Timer MT = new System.Timers.Timer(30000);
            MT.Elapsed += new System.Timers.ElapsedEventHandler(MTimedEvent);
            MT.Enabled = true;

        }

        //构造System.Timers.Timer实例   间隔时间事件
        private void MTimedEvent(object source, System.Timers.ElapsedEventArgs e)
        {

            //实现方法

        }
时间: 2024-08-26 00:16:12

c# 在windows服务中 使用定时器的相关文章

将WCF寄宿在托管的Windows服务中

在我之前的一篇博客中我介绍了如何发布WCF服务并将该服务寄宿于IIS上,今天我再来介绍一种方式,就是将WCF服务寄宿在Windows服务中,这样做有什么好处呢?当然可以省去部署IIS等一系列的问题,能够让部署更加简单,当然WCF的寄宿方式一般分为以下四种方式,针对每一种方式我来简单介绍以下: 具体的寄宿方式详细信息请参考MSDN:https://msdn.microsoft.com/zh-cn/library/ms733109(v=vs.100).aspx 一.WCF服务寄宿方式: 1):寄宿在

添加 MySql 服务、Tomcat服务到windows服务中

添加 MySql 服务到windows服务中: cmd --> F:\MySql\MySqlServer5.1\bin\mysqld --install 这样用默认的 MySQL 为名称添加一个windows服务进入mysql目录下面的bin目录,执行:mysqld-nt -install 即可:mysqld-nt --remove 添加 Tomcat服务到windows服务中进入到tomcat目录下面的bin目录,service.bat - install 即可;service.bat -re

解决vista和win7在windows服务中交互桌面权限问题:穿透Session 0 隔离

转载自 http://www.cnblogs.com/therock/articles/2261371.html 解决vista和win7在windows服务中交互桌面权限问题:穿透Session 0 隔离 服务(Service)对于大家来说一定不会陌生,它是Windows 操作系统重要的组成部分.我们可以把服务想像成一种特殊的应用程序,它随系统的“开启-关闭”而“开始-停止”其工作内容,在这期间无需任何用户参与. Windows 服务在后台执行着各种各样任务,支持着我们日常的桌面操作.有时候可

在windows服务中托管asp.net.core

参考:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/windows-service?view=aspnetcore-3.1&tabs=visual-studio 背景:项目各个模块部署在不同位置,因此采用了微服务架构.由于安装部署环境的差异,部分模块只能部署在xp系统下,其他部署环境考虑使用net.core,在windows服务中托管webapi,或者在webapi中寄宿windows服务,总而言之就是在一个程序中将wi

Quartz.Net在windows服务中的使用

写在前面 这几天在弄一个项目,需要定时抓取一些数据,当时也想直接用timer算了.因为之前也弄过这样的项目,但是一想,已经用过了,再去使用同一种思路,未免太乏味了.就换了一种新玩法.这里将之前看到的一篇文章中提出的一个思路,在这个项目中实践了一下,发现乐在其中. Quarzt.net [转]C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe 这篇文章,给了一种好玩的方式,并且自己也实践了一下,而且也确确实实在项目中用到了. 简单一个demo,先熟悉如

InstallUtil在windows服务中的使用(转)

1.  新建一个Windows Service的方法: 1. 打开Visual Studio 2008新建一个project Solution: 2. 选择Windows->windows Service,修改服务名称:MyFirstService: 3. 在默认窗口Service1中右键Add Install,自动生成两个类. 4. 修改serviceInstaller1的属性:  a)ServiceName =”FirstService”:   //设置服务名称  b)StartType =

[转]解决vista和win7在windows服务中交互桌面权限问题:穿透Session 0 隔离

服务(Service)对于大家来说一定不会陌生,它是Windows 操作系统重要的组成部分.我们可以把服务想像成一种特殊的应用程序,它随系统的“开启-关闭”而“开始-停止”其工作内容,在这期间无需任何用户参与. Windows 服务在后台执行着各种各样任务,支持着我们日常的桌面操作.有时候可能需要服务与用户进行信息或界面交互操作,这种方式在XP 时代是没有问题的,但自从Vista 开始你会发现这种方式似乎已不起作用. Session 0 隔离实验 下面来做一个名叫AlertService 的服务

C# windows服务:C#windows服务中的Timer控件的使用

C# windows服务程序中的Timer控件的使用问题是如何解决的呢? 今天研究了下C# windows服务程序中的Timer控件的使用的写法. 我们在建立一个C# windows服务程序后,要用到计时器的话一般都会想到Timer控件,于是到工具器把Timer控件拉过来,双击写事件,设置时间 但服务一跑起来,唉,怎么回事,时间到了怎么没有执行事件呢? 后来,我找很多资料才知道,这个Timer控件是winForm下的,不能用在C# windows服务程序中. 怎么办呢....... 打开"工具箱

nginx配置为windows服务中的坑

网上搜索“nginx 配置为windows服务”,很容易搜索到使用windows server warpper来配置,于是按照网上的方法我从github上的链接下载了1.17版本,前面都很顺利,很容易就配置成服务了,但就在启动服务的时候出异常了.错误大致如下 nginx: [alert] could not open error log file: CreateFile() " e:\nginx/logs/error.log" failed (123: The filename, di