新建Timer类

using BaseAsset.Data.Infrastructure;
using BaseAsset.Data.Repositories;
using BaseAsset.Entities;
using BaseAsset.Services;
using BaseAsset.Services.Abstract;
using System;
using System.Threading;
using System.Timers; namespace BaseAsset.Api.Timer
{
public class CostanalysisTimer
{
private static int inTimer = 0;
public void SetTimer()
{
System.Timers.Timer aTimer = new System.Timers.Timer(); aTimer.Elapsed += new ElapsedEventHandler(OnTimer);
//aTimer.Interval = 60000;
aTimer.Interval = 10800000;
aTimer.Enabled = true;
}
public void OnTimer(Object source, ElapsedEventArgs e)
{
try
{
//防止重入问题
if (Interlocked.Exchange(ref inTimer, 1) == 0)
{
IFoodService _foodService = new FoodService(
new EntityBaseRepository<fd_purchase>(),
new EntityBaseRepository<fd_purchase_detail>(),
new EntityBaseRepository<fd_cost_analysis>(),
new EntityBaseRepository<fd_cost_analysis_detail>(), new UnitOfWork());//工作单元实例化(工作单元的接入,保证了数据上下文在一个操作单元中只有一个,它可以通过构造方法注入到其它类中,实现跨类进行方法的组合。)
_foodService.Addcostanalysis();
Interlocked.Exchange(ref inTimer, 0);
}
}
catch (Exception ex)
{
Interlocked.Exchange(ref inTimer, 0);
throw (ex);
} }
}
}
Global.asax
using BaseAsset.Api.Mappings;
using BaseAsset.Api.Timer;
using System.Web.Http; namespace BaseAsset.Api
{
public class WebApiApplication : System.Web.HttpApplication
{ protected void Application_Start()
{
CostanalysisTimer time = new CostanalysisTimer();
time.SetTimer();
} }
}
 

C#定时任务(Timer)的更多相关文章

  1. Java基础--定时任务Timer

    Java基础--定时任务Timer 一.Timer介绍 java.util.Timer java.util.TimerTask Timer是一个定时器类,通过该类可以为指定的定时任务进行配置.Time ...

  2. Java基础--定时任务Timer(转载)

    Java基础--定时任务Timer 一.Timer介绍 java.util.Timer java.util.TimerTask Timer是一个定时器类,通过该类可以为指定的定时任务进行配置.Time ...

  3. JAVA定时任务Timer

    故事起因 因业务需要,写了一个定时任务Timer,任务将在每天的凌晨2点执行,代码顺利码完,一切就绪,开始测试.运行程序,为了节省时间,将系统时间调整为第二天凌晨1点59分,看着秒针滴答滴答的转动,期 ...

  4. Java定时任务Timer、TimerTask与ScheduledThreadPoolExecutor详解

     定时任务就是在指定时间执行程序,或周期性执行计划任务.Java中实现定时任务的方法有很多,本文从从JDK自带的一些方法来实现定时任务的需求. 一.Timer和TimerTask  Timer和Tim ...

  5. 详解java定时任务---Timer篇

    一.简介      在java的jdk中提供了Timer.TimerTask两个类来做定时任务. Timer是一种定时器工具,用来在一个后台线程计划执行指定任务,而TimerTask一个抽象类,它的子 ...

  6. Java之旅--定时任务(Timer、Quartz、Spring、LinuxCron)

    在Java中,实现定时任务有多种方式,本文介绍4种,Timer和TimerTask.Spring.QuartZ.Linux Cron. 以上4种实现定时任务的方式,Timer是最简单的,不需要任何框架 ...

  7. 服务器启动完成执行定时任务Timer,TimerTask

    由于项目需求:每隔一段时间就要调外部接口去进行某些操作,于是在网上找了一些资料,用了半天时间弄好了,代码: import java.util.TimerTask; public class Accou ...

  8. java定时任务Timer与ScheduledExecutorService<转>

    在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现.下面LZ就其原理.实例以及Timer缺陷三个方面来解析java Timer定时器. ...

  9. java web定时任务---Timer

    写在前面: 在最近的项目中需要每天定时对数据库表进行查询,并完成相关数据的更新操作.首先让我想到的是Timer类,记得在一开始维护那个老系统的时候,开了个接口,也涉及到了定时的操作.下面就记录下大概的 ...

  10. 定时任务-Timer

    Timer类的全限定名 java.util.Timer java.util.Timer类的构造函数 public Timer(); public Timer(boolean isDaemon); pu ...

随机推荐

  1. python安装及简单爬虫(爬取导师信息)

    1.下载: 解释器(我下的是3.8.2版本):https://www.python.org/downloads/ pycharm(我下的是2019.3.3版本):https://www.jetbrai ...

  2. [人脸识别]01-python环境准备-安装opencv

    安装opencv pip install opencv-python pip install  matplotlib pip install opencv-contrib-python --user

  3. QT使用中出现的问题

    1.运行程序程序弹出The CDB process terminated 2.调试弹出窗口提示缺少qtcreatorcdbext.dll 1.运行程序程序弹出The CDB process termi ...

  4. flink 1.10.0源码编译

    1.安装git yum -y install git 2.安装maven 安装了3.3以下低版本的maven会有提示升级,这里安装3.6.3 wget https://mirrors.tuna.tsi ...

  5. 合格できる日本語能力試験, N1.PDF

    书本详情 合格できる日本語能力試験, N1种类:Languages - Japanese Language Reference年:2010出版:Shohan.出版社:Aruku语言:japanese页 ...

  6. 才子佳人小说研究.PDF

    书本详情 才子佳人小说研究作者:周建渝著出版社:文史哲出版社时间:1998页数:273ISBN:957549167X ISBN:9789575491673

  7. Windows下更改MySQL数据库的存储位置(10为例子)

    有时候,自己安装MySQL的时候都是默然安装路径的,MySQL安装时不能选择数据库文件的安装位置,也没有可用的直接更改数据库目录的工具.之后所新建的数据库默认存储在C盘,当然了C盘很重要什么东西都存过 ...

  8. PR如何导出mp4格式的视频

    PR如何导出mp4格式的视频 PR是一款强大的视频处理软件,有时我们想导出mp4格式的视频,但好像找不到这种格式,具体怎么操作呢?PR如何导出mp4格式的视频? 1.打开PR,然后处理完视频后,点击左 ...

  9. 关于protobuf报错'tr1/unordered_map' file not found

    这个问题的话,查了很多资料,总的来说就是C++版本的问题,新版本的namespace结构变化了,C++库的层级结构变化了 1.config.h HASH_MAP_H    HASH_SET_H 新版本 ...

  10. IDEA,Run是灰色无法运行 解决办法

    转载地址:https://blog.csdn.net/sinat_39017906/article/details/83717068 找到项目里面的 Structure,点击打开: 然后,选中main ...