首页 新闻 会员 周边

c# 自动执行问题

0
悬赏园豆:20 [已解决问题] 解决于 2017-06-26 15:36

System.Timers.Timer t = new System.Timers.Timer(300000);
t.Elapsed += new System.Timers.ElapsedEventHandler((s, e) => Arbitration(s, e, orderId));
t.AutoReset = false;
t.Enabled = true;

 

 

public void Arbitration(object source,ElapsedEventArgs e,long orderId)
{

var model = context.OrderCancelInfo.FirstOrDefault(c => c.BizOrdersId == orderId);
if (model.Status == 0)
{
model.Status = 3;
model.Remarks = "暂无回应";
}
context.SaveChanges();

}

 

五分钟内数据有过更新,自动执行时查询出来的还是未更新的数据,请问怎么解决

 

 

程序猿鼓励师的主页 程序猿鼓励师 | 初学一级 | 园豆:184
提问于:2017-06-08 16:52
< >
分享
最佳答案
0

using(context)

{

  //TODO Sth

}

收获园豆:20
黄昏MMM | 菜鸟二级 |园豆:320 | 2017-06-15 13:54
其他回答(1)
0

System.Timers.Timer t = new System.Timers.Timer(300000);

弄成静态.不然会被释放.

PS:https://github.com/wrx362114/EasyMQService

吴瑞祥 | 园豆:29449 (高人七级) | 2017-06-08 18:20

private static System.Timers.Timer time;

是这样吗 好像也不行呀

支持(0) 反对(0) 程序猿鼓励师 | 园豆:184 (初学一级) | 2017-06-08 18:44

@程序猿鼓励师: 那你先找原因吧.打日志.你只写了这一段没有写宿主.

而且定时任务也不这么搞.都用qz的

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-06-08 19:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册