在C#中,方法无法在服务模式下正确执行

时间:2017-11-30 17:45:09

标签: c# task

我已经实现了一个执行一些长期处理工作的后台服务。事情安排的快照如下:

 Task.Run(async () =>
          {             
              await DoBackgroundJob();
           });

public async Task DoBackgroundJob() {
        MatchAndInsertIntoDb(); // call another method
}

方法MatchAndInsertIntoDb的方法签名如下:

public ObservableCollection<Trucks> MatchAndInsertIntoDb() {

问题在于,当我在每一行上设置断点时,方法MatchAndInsertIntoDb()会在每行按F10时正确执行。

但是当后台服务在没有调试和断点的情况下运行时,方法MatchAndInsertIntoDb()似乎没有正确执行。方法MatchAndInsertIntoDb()在其主体中有一些方法,例如查询本地数据库并对另一个列表执行匹配以及在远程Web服务上发布数据。

我怀疑是因为它是一个长期运行的操作,所以没有足够的时间来正确完成执行。

有人可以在这个问题上给我启发或帮我解决吗?

0 个答案:

没有答案