C# 中web如何定时同步数据
之前做定时器同步方法试过很多方法, 不过都有些问题
1)quartz + IIS 方式(web项目发布到IIS上,出现IIS应用池回收问题)
2)用线程Timer方式 (出现多个线程同步同个任务问题)
3)window计划任务+ api方法 方式
4)quartz+ window服务(暂不到怎么弄)
最后确定用第(3)种方式,解决了定时同步数据问题。
假如我们需要每隔5分钟定时同步数据,那么做一个api 同步方法映射到外部可调用,
然后用window计划任务做一个任务,定时调用批处理文件(文件包含调用api方法的语法)
我这边做一个每隔5分钟调用方法获取数据demo
1、api方法
/// <summary>
/// 获取配送点列表(收货客户或送货客户)
/// </summary>
/// <param name="obj">传递数据</param>
/// <returns></returns>
[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
注意:“PAGE_NUM=1&ROW_NUM=5”这个是方法的参数,“http://14.23.113.2:9698/api/IPhoneApp/MobileApp/GetDeliveryPointList/1”这个是请求路径,
“| iconv -f utf-8 -t gbk” 这个是为了防止返回数据出现乱码问题,需安装libiconv.exe工具才支持,“>>D:\Sync\SyncFuns_log.txt”:保存调用日志信息
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、启用计划任务

查看运行结果

C# 中web如何定时同步数据的更多相关文章
- Windows 之间用rsync同步数据(cwRsyncServer配置)
rsync是一款优秀的数据同步软件,在跨服务器,跨机房,跨国备份服务器的首选工具,下面就来介绍下如何配置安装cwRsyncServer很大多数软件一样是B/C架构,cwRsyncServer是rsyn ...
- SqlServer2008 跨服务器同步数据
最近工作中需要跨服务器同步数据,在数据库DB1中的表T1插入数据,同时触发T1的触发器(这里暂不讨论触发器的效率问题),向另一台服务器DB2中的相同的一张表T2插入数据,查看了一些资料说, 需要打开D ...
- solr 7+tomcat 8 + mysql实现solr 7基本使用(安装、集成中文分词器、定时同步数据库数据以及项目集成)
基本说明 Solr是一个开源项目,基于Lucene的搜索服务器,一般用于高级的搜索功能: solr还支持各种插件(如中文分词器等),便于做多样化功能的集成: 提供页面操作,查看日志和配置信息,功能全面 ...
- SSIS结合BCP及SQL Server作业实现定时将数据导出打包实现数据同步
首先这个流程要实现的功能大致是: 有两台服务器,一台是对外网开发的,一台是内网的.那么很明显数据交互都是外网服务器在做,而这个流程要做的就是要将外网上面的数据定时同步到内网中. 我们依对其中某张表的操 ...
- 不同服务器数据库之间的数据定时同步到sql server (支持mysql,oracle数据库同步到sql server)
1,在目标数据库新增服务器对象->连接到服务器->新建服务器连接 2,编写数据同步业务PROC ALTER PROC TestProc AS BEGIN --打开完全事物回滚 SET XA ...
- 物化视图(materialized view) 实现数据迁移、数据定时同步
近日公司有一个9i 的Oracle数据库,运行效率低下.想要将其升级到11G. 但是升级之前 要将数据进行同步,好在表不是很多.只有三张表.业务压力也不大,就想到了使用物 化视图的方式将数据同步过来. ...
- 使用Logstash同步数据至Elasticsearch,Spring Boot中集成Elasticsearch实现搜索
安装logstash.同步数据至ElasticSearch 为什么使用logstash来同步,CSDN上有一篇文章简要的分析了以下几种同步工具的优缺点:https://blog.csdn.net/la ...
- Elasticsearch 2.3.2 从oracle中同步数据
Elasticsearch 2.3.2 从oracle中同步数据 1 数据批量导入-oracle 采用 elasticsearch-jdbc 插件 安装.版本需要ES版本一致 最新 ...
- elasticsearch -- Logstash实现mysql同步数据到elasticsearch
配置 安装插件由于这里是从mysql同步数据到elasticsearch,所以需要安装jdbc的入插件和elasticsearch的出插件:logstash-input-jdbc.logstash-o ...
随机推荐
- 安装ik分词器以及版本和ES版本的兼容性
一.查看自己ES的版本号与之对应的IK分词器版本 https://github.com/medcl/elasticsearch-analysis-ik/blob/master/README.md 二. ...
- mac 下安装ES 与 Head插件 以及安装Kibana
一.安装Elasticsearch 在Mac上可以使用brew快速安装Elasticsearch brew install elasticsearch 安装完成后可使用elasticsearch -- ...
- hrbust 2080链表 【贪心】
仔细看题想想就是个贪心题,两个sort就可以解决了 #include<stdio.h> #include<string.h> #include<math.h> #i ...
- vue init webpack nameXXX 报错问题:
vue新建demo项目报错如下: M:\lhhVueTest>vue init webpack L21_VueProject vue-cli · Failed to download repo ...
- H5多媒体(用面向对象的方法控制视频、音频播放、暂停、延时暂停)
视频,音频播放器会是我们在工作中用到的一些h5新标签,它自带一些属性,比如暂停播放,快进快退,但是,我们经常不用原生的样式或者方法,我们需要自定义这些按钮来达到我们需要的样式,也需要我们自定义来实现一 ...
- 第 3 章 镜像 - 020 - 搭建本地 Registry
Docker Hub 虽然非常方便,但还是有些限制,比如: 需要 internet 连接,而且下载和上传速度慢. 上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 reposito ...
- selenium+Page Objects(第二话)
前面介绍了什么是po模式,并且简单分析了一下使用po模式编写脚本的思路,接下来开始正式编写 1.先编写一个页面基类BasePage.py,里面封装每个页面常用的一些方法 # coding: utf-8 ...
- IAR编译器
1.在Build输出框中单击鼠标右键可以选择查看的信息,包括每个文件代码大小,数据大小,以及整个工程代码与数据大小等. 2.在IDE Options的key bingdings功能下可以查看和设置需要 ...
- Confluence 6 如何保持我空间的整洁
如果你有很多用户在同一个空间中编辑和创建内容,你的空间将会很快的变得混乱不堪.你可以使用下面的一些步骤来避免这个的发生. 创建一系列的指南 让你的合作编辑用户知道创建页面的上级页面是什么,这样可以保证 ...
- 通俗大白话来理解TCP协议的三次握手和四次断开
from : https://blog.csdn.net/Neo233/article/details/72866230?locationNum=15&fps=1%20HTTP%E6%8F%A ...