情况是这样的,我做了一个定时器,每天某个时间调用接口,发送所有数据。
由于一次数据可能多条 所以做两个分页查询(先说明下 为了让没有数据的时候 不从复调用接口,所以每天只执行一次)
在下面必须添加Thread.Sleep();否则无法按for循环执行。
public void StartOnHour_GuoQi(object sender, System.Timers.ElapsedEventArgs e)
{
//整点发送
if (e.SignalTime.Hour == hour_start && e.SignalTime.Minute == minute_start && e.SignalTime.Second == 0)
{
//执行请求处理
try
{
var param = new { pageindex = 0, pagesize = 10 };
var result_page = InvokeAgentService("OverdueDataCount", param);
dynamic page_Json = JKZL.Common.Core.Converts.Json2Dynamic.DynamicConvertHelper.ConvertJson(result_page);
//总记录数
int total = CommFunction.IntParse(page_Json.Data.TotalCount);
//总页数
int allpage = 0;
/*分页*/
if ((total % pageSize) == 0)
{
allpage = total / pageSize;
}
else
{
allpage = (total / pageSize) + 1;
}
for (int pageIndex = 0; pageIndex < allpage; pageIndex++)
{
var thread_GuoQi = new Thread(() =>
{
var parameters = new { pageindex = pageIndex, pagesize = pageSize };
var result = InvokeAgentService("GetOverdueData", parameters);
dynamic resutlJson = JKZL.Common.Core.Converts.Json2Dynamic.DynamicConvertHelper.ConvertJson(result);
if (resutlJson != null && resutlJson.Code == "10000")
{
foreach (var item in resutlJson.Data.Items)
{
//执行代码
}
else
{
LogHelp.SysLog("请求返回结果错误结果--接口数据:" + result, "error");
}
});
thread_GuoQi.Start();
Thread.Sleep(50);
}
}
catch (Exception ex)
{
LogHelp.SysLog("执行过期通知处理程序错误" + ex.Message, "error");
}
}
}
.net 多线程 调用接口
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- threenewbee 2015-07-30 10:23关注
关键是
JKZL.Common.Core.Converts.Json2Dynamic.DynamicConvertHelper.ConvertJson(result);
这个调用是否线程安全,如果不是,就需要同步。解决 无用评论 打赏 举报
悬赏问题
- ¥20 删除和修改功能无法调用
- ¥15 kafka topic 所有分副本数修改
- ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
- ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
- ¥40 串口调试助手打开串口后,keil5的代码就停止了
- ¥15 电脑最近经常蓝屏,求大家看看哪的问题
- ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
- ¥50 C++五子棋AI程序编写
- ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。
- ¥15 SQL Server analysis services 服务安装失败