添加服务,用于定期执行某个程序或者应用程序(windows service)

需要配合window的安装程序一起写

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using Inspur.DataExchange.Logging;
using System.Configuration;
using Inspur.Finix.ExceptionManagement;

namespace WenZhouZJ.Exchange.FromNW
{
    public partial class Service1 : ServiceBase
    {
        private System.Timers.Timer timer2;

        public Service1()
        {

            this.timer2 = new System.Timers.Timer();
            ((System.ComponentModel.ISupportInitialize)(this.timer2)).BeginInit();
            this.timer2.Enabled = true;
            this.timer2.Interval = 1 * 1000;
            this.timer2.Elapsed += new System.Timers.ElapsedEventHandler(this.timer2_Elapsed);
            ((System.ComponentModel.ISupportInitialize)(this.timer2)).EndInit();

            this.ServiceName = "温州质监与南威数据交换_收件信息获取服务";
        }

        protected override void OnStart(string[] args)
        {
            //this.timer1.Enabled = false;

        }

        protected override void OnStop()
        {
            this.timer2.Enabled = false;
        }

        private void timer2_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {

            //如果到了设置的运行时间
            string runtime = ConfigurationSettings.AppSettings["Runtime"];
            if (string.IsNullOrEmpty(runtime) || runtime.Equals(DateTime.Now.ToString("HH:mm")))
            {
                this.timer2.Enabled = false;
                try
                {
                    //DataExchange.DoExchange();   定期执行的事件
                }
                catch (Exception ex)
                {
                    ExceptionManager.Handle(ex);
                }
                this.timer2.Interval = Convert.ToDouble(System.Configuration.ConfigurationSettings.AppSettings["Interval"]) * 60 * 1000;
                this.timer2.Enabled = true;
            }

        }

    }
}

添加服务,用于定期执行某个程序或者应用程序(windows service)

时间: 2024-07-29 09:01:09

添加服务,用于定期执行某个程序或者应用程序(windows service)的相关文章

给自己的C++程序创建为一个windows service

因为项目的一些变化和原因,需要把数据处理的一个后台程序创建为一个windows服务,运行以下命令能创建成功: sc create "MyApp Service Name" binPath= "D:/MathxH/Project/SocketService/trunk/MyApp/Win32/Release/MyApp.exe" start= auto 但是因为我的App程序是非服务(non-service)可执行程序,所以在让它运行的时候,却失败了,抛出以下错误:

gradle 添加jar依赖,执行grade build时出现“程序包不存在”问题

引用的第三方依赖的包都找不到了 解决办法 group'com.suneony' version'1.0.0' apply plugin:'java' repositories { mavenLocal() //1.优先查找本地maven库,性能最好 maven{//2.其次查找aliyun maven库 url'http://maven.aliyun.com/nexus/content/groups/public/' } mavenCentral()//3.最后查找maven中央库 } depe

如何利用Cron让django应用定期执行

最近用Django写了一个项目,但是有一个地方需要应用在后台自动定期执行检查,并存入数据库,如果单纯的写Python程序的话不能很好的跟django的结合在一起,写起来也和麻烦,查找资料的时候发现了django有一个功能,就是django command,通过这个就可以使用django的manage.py去执行命令了. 参考:资料1   资料2   资料3 实现思路: 1.首先把需要自动执行的django method写成django command 2.将自己定义的django command

如何让django方法自动地定期执行

实现思路:1.首先把需要自动执行的django method写成django command2.将自己定义的django command添加到cron中使用cron服务实现定期执行 Part1 在django工程中添加自定义的django command1.我们自己建立的application叫做myapp,首先在这个app目录下,我们需要新建management目录,这个目录里应该包括:__init__.py(内容为空,用于打包)和commands目录,然后在commands目录下包括:__i

关于WCF的引用,添加服务和添加web服务的区别

原文:关于WCF的引用,添加服务和添加web服务的区别 本章内容主要是根据我做的实验来阐述这2种添加服务针对WCF的不同之处,我们按照示例一步一步来看. 如下是工程的结构: 该WCF服务是通过控制台程序(Host)以自宿的形式发布的,绑定使用wsHttpBinding.我们在Client端分别添加 服务引用(add service references)和添加Web引用(add Web Reference )来引用WCF服务. 以下是客户端的代码,分别使用添加服务引用和添加Web引用的服务代理来

.Net Remoting的双向通信和Windows Service的宿主服务

原文:.Net Remoting的双向通信和Windows Service的宿主服务 作为微软分布式技术之一的.Net Remoting,从性能.安全等各方面来说都是相对比较稳定的,也是一项比较成熟的分布式技术. 从学习.Net Remoting至今,仅仅只使用了一次这门技术,是在去年的一个IM产品中.最近公司的产品出现了很多问题,服务器.通信接口.网站都陆续被攻击(DDOS).这对于做互联网产业的同行来说就清楚这里面的关系,强大的DDOS攻击可以直接让产品无法正常运营甚至停止运营. 经过一系列

C#制作Windows service服务系列二:演示一个定期执行的windows服务及调试(windows service)

系列一: 制作一个可安装.可启动.可停止.可卸载的Windows service(downmoon原创) 系列二:演示一个定期执行的windows服务及调试(windows service)(downmoon) 系列三: windows service系列三--制作可控制界面的windows service 一.经常有人问起如何让程序定期自动执行? 除了像系统任务和SQL JOB/DTS等都可以满足不同的用户需求外,这里演示了如何做一个简单的windows serivce的框架.主要的功能是按照

Linux下设置定期执行脚本

下面针对的是非ubuntu环境,会在文章末尾介绍ubuntu的一些区别. 在Linux下,经常需要定期的执行一些脚本从而来实现一些功能. 在Linux下我们用crontab来实现定期的执行脚本这个功能,下面就介绍一下crontab的使用.以及我遇到的一些问题 一. crontab的使用说明 1. crond 是linux用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动此任务调度命令.crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作.而linux任

Android socket 学习记录 之 执行new socket(ip, port)程序崩溃

这段时间在学习Android的socket编程,我不是专做APP的,做的是bootloader.驱动.hal.framework这个线的,也就是系统搭建和功能优化设计.为了打通这整条线,为此学习了不少东西,今天把Android的socket学习记录一下,以防止以后会出现这样的低级错误. 我这里是在极客学院的源码基础上做的自己的一些添加和修改,学习开始不就是先会修改么,举一反三,自然就很快学会了.由于看过视频和资料后就迫不及待的按照自己的想法想做一个功能,但是遇到麻烦了,就是执行new socke