LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C# 中web如何定时同步数据

admin
2021年3月8日 9:23 本文热度 3258
之前做定时器同步方法试过很多方法, 不过都有些问题:
1)quartz + IIS 方式(web项目发布到IIS上,出现IIS应用池回收问题)
2)用线程Timer方式 (出现多个线程同步同个任务问题)
3)window计划任务+ api方法 方式
4)quartz+ window服务(暂不到怎么弄)
最后确定用第(3)种方式,解决了定时同步数据问题。

假如我们需要每隔5分钟定时同步数据,那么做一个api 同步方法映射到外部可调用,然后用window计划任务做一个任务,定时调用批处理文件(文件包含调用api方法的语法)。我这边做一个每隔5分钟调用方法获取数据demo:
1、api方法

         ///

        /// 获取配送点列表(收货客户或送货客户)

        ///

        /// 传递数据

        ///

        [System.Web.Http.HttpPost]

        public string GetDeliveryPointList([FromBody] JObject obj)

        {

            MobileResult result = myService.GetDeliveryPointList(obj);

            return JsonConvert.SerializeObject(result);

        }

注意:这个方法外部可通过ajax调用的到,如果是要同步数据,那边方法改成可同步数据方法。


2、配置curl表达式

@echo off 
curl --data "PAGE_NUM=1&ROW_NUM=5" http://14.23.113.2:9698/api/IPhoneApp/MobileApp/GetDeliveryPointList/1 | iconv -f utf-8 -t gbk >>D:\Sync\SyncFuns_log.txt
exit


3、安装curl程序

     下载地址:https://pan.baidu.com/s/13acW5HCatnhb1KPlzNSbYA, 解压压缩文件


将1(curl.exe)文件复制到C:\Windows\System32\目录下,将2(libiconv.exe)安装后,将安装路径添加到环境变量Path中 ,

C:\Program Files (x86)\GnuWin32\bin ,将上面curl表达式保存成批处理文件(SyncFuns.bat)



4、创建window计划任务

 1)创建基本任务

1.1)常规(选中圈中的的内容)



1.2)触发器

 新增触发器,选中重复任务间隔5分钟,持续时间为无限期



1.3)操作

新增任务,选中批处理文件(SyncFuns.bat)



1.4) 条件

电源记得去掉,如果电脑没插电源,计划任务不会触发



5、启用计划任务


查看运行结果:

该文章在 2021/3/8 9:23:34 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved