问题描述
for(i=0;i<20;i++){model.id=i;model.description=GetItem();//GetItem()为调用XX公司提供的API返回的一些数据,string类型。BLL.Add(model);}privatestringGetItem(){///此处为调用XX公司提供的API,返回string类型}代码大概是这样子,在正式环境下,偶尔(注意是偶尔,出现次数不多)会出现超时异常,System.Net.webexception我个人的看法是,在for循环里面,去执行调用API,发送请求的速度远比返回数据的速度快。如果是在Jquery客户端的话,可以使用回调函数,上一条记录成功插入之后,再执行下一条,但是,我现在是在后台,我想不到解决方法了、唯有在这里求大牛们!!最好的话,贴上代码!
解决方案
解决方案二:
自己顶一顶!!
解决方案三:
for(i=0;i<20;i++){model.id=i;boolIsok=false;while(!IsOK){try{model.description=GetItem();//GetItem()为调用XX公司提供的API返回的一些数据,string类型。Isok=true;}catch{}}BLL.Add(model);}--这样写看行不行
解决方案四:
在循环语句里面加个判断,返回数据合法后,才执行下一步操作。
解决方案五:
引用3楼的回复:
在循环语句里面加个判断,返回数据合法后,才执行下一步操作。
你没看懂哦!返回的数据是没有问题的!是怀疑拿数据的时间与插入数据库的时间问题!
解决方案六:
引用3楼的回复:
在循环语句里面加个判断,返回数据合法后,才执行下一步操作。
加判断不行啊,因为如果数据还没返回的话,for循环就直接跳过他了。比如执行了20次,有些没来得及返回,直接跳过,最后得到肯定<20次了
时间: 2024-08-01 23:36:28